Undefined behavior enc_ma.cc:994

Describe the bug
As part of our test and release process we run unit tests on libjxl with sanitizers enabled, including clang's UndefinedBehaviorSanitizer which caught this error:
build/libgcc/include/c++/trunk/bits/random.tcc:1042:21: runtime error: -inf is outside the range of representable values of type 'unsigned int'
    #0 0x7fdc366a5530 in operator()<(anonymous namespace)::Rng> build/libgcc/include/c++/trunk/bits/random.tcc:1042
    #1 0x7fdc366a5530 in unsigned int std::geometric_distribution<unsigned int>::operator()<(anonymous namespace)::Rng>((anonymous namespace)::Rng&) build/libgcc/include/c++/trunk/bits/random.h:4083
    #2 0x7fdc366a4644 in jxl::CollectPixelSamples(jxl::Image const&, jxl::ModularOptions const&, unsigned long, std::vector<unsigned int, std::allocator<unsigned int> >&, std::vector<unsigned int, std::allocator<unsigned int> >&, std::vector<int, std::allocator<int> >&, std::vector<int, std::allocator<int> >&) buck-out/dev/cells/fbsource/gen/aab7ed39/third-party/jpeg-xl/libjxl#platform009-clang,private-headers/lib/jxl/modular/encoding/enc_ma.cc:994
    #3 0x7fdc366d9bf3 in operator() third-party/jpeg-xl/jpeg-xl/lib/jxl/enc_modular.cc:954
    #4 0x7fdc366d9bf3 in jxl::ThreadPool::RunCallState<jxl::Status (unsigned long), jxl::ModularFrameEncoder::PrepareEncoding(jxl::ThreadPool*, jxl::FrameDimensions const&, jxl::EncoderHeuristics*, jxl::AuxOut*)::$_2>::CallDataFunc(void*, unsigned int, unsigned long) buck-out/dev/cells/fbsource/gen/aab7ed39/third-party/jpeg-xl/libjxl#platform009-clang,private-headers/lib/jxl/base/data_parallel.h:88
    #5 0x7fdc36940aec in jpegxl::ThreadParallelRunner::RunRange(jpegxl::ThreadParallelRunner*, unsigned long, int) third-party/jpeg-xl/jpeg-xl/lib/threads/thread_parallel_runner_internal.cc:137
    #6 0x7fdc36940e19 in jpegxl::ThreadParallelRunner::ThreadFunc(jpegxl::ThreadParallelRunner*, int) third-party/jpeg-xl/jpeg-xl/lib/threads/thread_parallel_runner_internal.cc:167
    #7 0x7fdc36ee1800 in execute_native_thread_routine
    #8 0x7fdc36da320b in start_thread
    #9 0x7fdc36cb481e in clone

SUMMARY: UndefinedBehaviorSanitizer: float-cast-overflow: build/libgcc/include/c++/trunk/bits/random.tcc:1042:21 in

To Reproduce
It should be possible to repro this using cjxl as well, with UndefinedBehaviorSanitizer enabled, but I'm not sure if it repros for 100% of images.
Expected behavior
No undefined behavior conditions are encountered when encoding JPEG XL images.
Environment

OS: CentOS
Compiler version: clang 11
CPU type: x86_64
cjxl/djxl version string: n/a

Additional context
Add any other context about the problem here.

That's... interesting. Would it be possible for you to print the "fraction" value passed to the geometric distribution constructor in enc_ma.cc:955?
It seems to me like that value is either invalid, or the bug is somewhere in the C++ standard library. We run sanitizers regularly in tests and IIRC we never ran into this issue. Also I failed to reproduce this issue locally (might depend on the image set).

The fraction passed to the geometric distribution constructor in enc_ma.cc:955 is 0 which I think would be a valid value?

This is the test image (from libpng): https://mirror.ibcp.fr/pub/CTAN/obsolete/graphics/metapost/base/source/libs/libpng/libpng-1.5.16/contrib/pngsuite/basn2c08.png
In the test it's compressed using JxlEncoderOptionsSetLossless(jxlOptions, JXL_TRUE)


question on RequestInterface cloning

should we clone the internal UriInterface instance with __clone()? otherwise the clones will point to the original instance's uri.

They can point to the same instance; there's no need to clone the Uri instance unless the Uri has changed, which would result in a new request instance anyways.

@weierophinney oh yes...I remember now i asked myself the same question long time ago then answering the same way ...really sorry about that....


Failed to lookup symbol in Archived (ios) build

While trying to run the app in archive mode (downloaded from testflight) on iOS, getting this below error -
Failed to lookup symbol 'TfLiteModelCreateFromFile': dlsym (RTLD_DEFAULT, TfLiteModelCreateFromFile): symbol not found
Can anyone please help into this?
using latest version of the plugin:
tflite_flutter: ^0.9.5

Try with tflite_flutter: ^0.10.0

Just a wild guess, but did you follow the best practice for embedding native code using ffi?
https://docs.flutter.dev/platform-integration/ios/c-interop#open-source-third-party-library
The line declaring the source_files appears to be commented out in the project's podspec.

To be clear: I am facing this issue with tflite_flutter: ^0.10.0

Looks like this is an instance of https://github.com/flutter/flutter/issues/62666 which was resolved by documenting a workaround: https://docs.flutter.dev/platform-integration/ios/c-interop#stripping-ios-symbols
Solution:

In Xcode, go to Target Runner > Build Settings > Strip Style.
Change from All Symbols to Non-Global Symbols.

I'd recommend adding this to the Setup steps in readme and on pub.dev

Updated in #76. Will aim to publish 0.10.1 today, which will include updating the readme on pub.dev.
Thanks for tracking that down!


Provide new plugin config to customize applicationMonitor configuration

BACKGROUND
(Opening this issue based on what started as an internal, IBM-only discussion here: https://github.ibm.com/liberty-dev-ex/design-issues/issues/16)
As described in this Liberty Tools Eclipse issue, a large app might take so long to restart that a user may want to disable the default "polled" application monitor behavior, and rely on debugger HCR to quickly test the results of the change.
PROPOSAL
A proposed design would be to have a new top-level config (e.g Maven parm/property), say 'appMonitorTrigger', and do do the following:

If set to one of the values, 'polled', 'mbean', 'disabled', LMP/LGP generates configDropin/overrides/liberty-plugin-app-monitor-config.xml in with  (i.e. where the set value is 'polled', 'mbean', 'disabled').
If not set, LMP/LGP deletes configDropin/overrides/liberty-plugin-app-monitor-config.xml

The generation/deletion would happen at basically the same time (same goals/tasks) that the liberty-plugin-variable-config.xml file is generated today.
The Liberty Tools IDE features can then set this parm accordingly as they launch dev mode, depending on whether a Run or Debug is performed in Liberty Tools.
EXAMPLE

mvn liberty:dev -DappMonitorTrigger=disabled

will generate config:
 <applicationMonitor updateTrigger="disabled"/>

TODO
I believe this will merge with existing config but should double-check
Minor design questions:

Do we even need 'polled' as an option, since it's already the default? Is there really a reason to override any other config?
Do we want an explicit "not set" option in addition to defaulting? Seems like this could be helpful

Note that we describe this as requiring a new plugin config, but the intended user of this support, Liberty Tools, would probably only ever do so through a property.   So it's possibly worth raising the question:  would we provide a behavior that was ONLY configurable via property, and NOT via plugin parameter?

I published a snapshot to Sonatype to test the described behavior. Currently can specify with: mvn liberty:dev -DapplicationMonitor=mbean. (I noticed your suggestion for appMonitorTrigger after publishing, but can change to this if preferred)
Has validation to ensure the value is one of: [polled, mbean, disabled]. If not specified, the existing file in configDropins/overrides is deleted.
Relevant branches for code:

OpenLiberty/ci.maven/createAppMonConfig
OpenLiberty/ci.common/enableUpdateTrigger

Snapshot Installation:
<plugin>
    <groupId>io.openliberty.tools</groupId>
    <artifactId>liberty-maven-plugin</artifactId>
    <version>3.8.3-appMon-SNAPSHOT</version>
</plugin>

And make sure to add this under the pom.xml
<pluginRepositories>
    <!-- Configure Sonatype OSS Maven snapshots repository -->
    <pluginRepository>
        <id>sonatype-nexus-snapshots</id>
        <name>Sonatype Nexus Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <releases>
            <enabled>false</enabled>
        </releases>
    </pluginRepository>
</pluginRepositories>

In reviewing this with the broader runtime team, the question was raised:  how does WDT/LDT handle an update to a web.xml in debug mode?
The reason for focusing on this case is that, as a non-Java change, it would fall outside the scope of the debugger's HCR capabilities to update or replace.
As it turns out, doing a test and looking at the source code:  it appears that WDT/LDT will actually, in general, still call the mbean to update an app after a change, even with running in debug mode.
The handling of Java class file updates is actually a special case in the overall logic, as one can see here:
https://github.com/OpenLiberty/open-liberty-tools/blob/e86be3dbc36b3dfa531804f480babdfdafbd9638/dev/com.ibm.ws.st.jee.core/src/com/ibm/ws/st/jee/core/internal/JEEServerExtension.java#L525-L528
where the publish is NOT performed if the project change is a .class file AND debug mode is enabled.

Given the last comment, the new, proposed config becomes less immediately useful to Liberty Tools (IDE) function.
If we assume that the WDT/LDT-like mbean invocation would be added to Liberty Tools IDEs in the near-term, then this proposal would indeed seem useful.    That mbean invocation function could include logic to update or not based on the type of resource (as in LDT/WDT).
However, without this mbean invocation function imminent, is it still worth going ahead with this proposal?
If we were to go ahead, we would probably make the debug behavior "opt-in", i.e. not the default, making it less useful.  Would it be reasonable to doc for a user creating their own updateTrigger config variable and setting it (or not) in their Liberty Tools Run/Debug configs (i.e. using a custom config)?
I don't think there is a way to do this that doesn't involve some amt. of a learning curve for someone used to the WDT/LDT approach.

**2023-09-27  - DXDI update: **
Decided to wait on merging this function until we have a more complete view of how we'd leverage this in Liberty Tools IDE, which would be a significant enhancement in each IDE, and which still requires some design work.

As discussed before, it'd be nice to have a doc showing how to workaround this problem in each IDE.
Suggested that when it comes time to prototyping app update detection and mbean invocation, it should be considered at the LMP/LGP layers (rather than assuming each LT IDE adds its own function).
Recognized that even the WDT app update detection might have some gaps, e.g. if a urlPatterns attr changes on a @WebServlet this would require an app update


ReactiveMap markdown is causing the storybook to crash

@metagrover what is the status on this?

Fixed at https://github.com/appbaseio/playground/commit/c8a446b6ff3ba386564c10964534edd212a1e6c1


Create FUNDING.yml

Added GitHub sponsorship button to SocialPredict repo

Ko-fi uses stripe, so it wouldn't be too much trouble to integrate that.

Ko-fi uses stripe, so it wouldn't be too much trouble to integrate that.

Thanks! Yeah adding Ko-fi and Patreon is something to do at a later date. It would be good to be on more platforms.


Import feedback message has a typo

When running
haze import [world_name]

the feedback message will say
info: imoprted [path] to [path]

Should say: "imported" :v

Thanks! Will fix. But there probably won't be a release for quite some time.

No worries, it's not a critical issue in any way after all :) Thanks for the fix


Rabbit binder: no support for stateful retry

Hello,
The use-case is transactional consumption of messages via a listener that uses spring-data-jpa.
RabbitConsumerProperties.transacted is supported but no DLQ with stateful retry.
"Stateful retry is appropriate if your listener is using a transactional resource that needs to be rollback on an exception (e.g. a stateful connection to a back end server). JPA is the canonical example. The semantics of stateful retry mean that a listener exception is propagated to the container, so that it can force a rollback. " from
http://docs.spring.io/spring-amqp/docs/1.5.6.RELEASE/api/org/springframework/amqp/rabbit/config/StatefulRetryOperationsInterceptorFactoryBean.html
Thanks,

Also,
Setting a transaction manager disables the retry advice, which is hinted at in the amqp docs.
But the amqp docs are unclear about when/why to actually use
factory.setTransactionManager(platformTransactionManager)...
thanks

Stateful retry is not appropriate here because the retry state is not shared across application instances. If we used stateful retry, there is no guarantee that the redelivery will come back to the same instance. This causes two issues:

the actual number of delivery attempts will be maxAttempts <= n < (maxAttempts * instanceCount)
memory leakage because the instances that did not process the final (or successful) attempt will have no opportunity to clean up the retry state

To be perfectly honest, when rabbitmq changed from queuing rejections at the tail of the queue, to the head (several years ago, which was the correct move IMO), stateful retry in the context of RabbitMQ no longer provides any real value, just overhead.

Setting a transaction manager disables the retry advice, which is hinted at in the spring-amqp docs.

I am not sure why you say that; can you point me to that hint?
Having a transaction manager is independent of the container's advice chain.

I've learnt a lot from the code in the project, but, from your reply, and from the statement in the javadoc about the need for stateful retry with JPA, linked above, I take away the understanding that spring-cloud-stream can not support listeners that use JPA?
I'd like to configure correct operation of a DLQ with message listeners that use JPA.
I'm finding it difficult because of the interactions between

defaultRequeueRejected
setTransactionManager
setAdviceChain with stateless and stateful retry

on SimpleRabbitListenerContainerFactory.
As to transactionManager and retry advice, I should not have used the term "disabled".
But I did read a warning about how transactions and retry advice interact.
Of course, now I can't find it.
I was trying to figure out why bad messages were not ending up in the dlq.
Here's the code I ended up with after stepping through the code in the debugger and discovering that the advice chain was not being called if the PlatformTransactionManager was set on the container factory:
        if (useDLQ) {
            RabbitTemplate errorTemplate = new RabbitTemplate(this.cf);
            // from javadoc for StatefulRetryOperationsInterceptorFactoryBean:
            // The semantics of stateful retry mean that a listener exception is propagated to the container, so that it can force a rollback.
            // ie, use with JPA transactions
            Interceptor retryInterceptor = RetryInterceptorBuilder.stateful()
                .maxAttempts(1)
                .recoverer(new RepublishMessageRecoverer(errorTemplate, dlqExchange().getName(), "#"))
                .build();

            factory.setAdviceChain(retryInterceptor);
        } else {
            // interferes with RetryInterceptor
            factory.setTransactionManager(platformTransactionManager);
        }

Thanks for your help sorting this out!

@srnm
Have included a new issue for supporting more interaction between the binders and the application's manager: https://github.com/spring-cloud/spring-cloud-stream/issues/536.
For now, though, if your listener is transactional, e.g..
@SpringBootApplication
@EnableBinding(Sink.class)
public class StreamRabbitJpaApplication {

	@Autowired
	private TransactionRepository transactionRepository;

	@Autowired
	private AuditRecordRepository auditRecordRepository;

	public static void main(String[] args) {
		SpringApplication.run(StreamRabbitJpaApplication.class, args);
	}

	@StreamListener(Sink.INPUT)
        @Transactional
	public void save(Transaction transaction) {
                // save always
		Transaction saved = transactionRepository.save(transaction);
		if (!transaction.getAccountNumber().contains("fail")) {
			AuditRecord record = new AuditRecord();
			record.setAccountNumber(transaction.getAccountNumber());
			record.setSavedTransactionId(saved.getId());
                        // save only on success
			auditRecordRepository.save(record);
		}
		else {
			throw new IllegalStateException("Unacceptable transaction");
		}
	}
}

(I am using @StreamListener as this is spring-cloud-stream, but the invocation chain originates in a Rabbit listener).
Whenever the method throws an exception (rolling back the database transaction automatically) it will be retried (each time in a new transaction) and at the end propagated to the container/binder where depending on your settings it will be either:

requeued if no DLQ nor retry is enabled and requeueRejected is set to true (default)
forwarded to the dlq if republishToDlq is enabled on the binder
dropped if neither requeing and DLQ republishing are set

There is no explicit requirement to use stateful retry for JPA, and generally speaking not in any case where the listener method can be retried without side effects (generally speaking a good idea, and definitely the case here, as the condition that triggers the failure is the one that causes the rollback). What the stateful retries offer you (and the documentation tries to say) is the additional ability to store state and resources between invocations which makes only sense in certain cases (such as JPA). Again, that is not a precondition, and as @garyrussell  says, it comes with issues of its own.
To deepen the analysis, the limitation of the solution above is that it does not explicitly synchronize transactions and relies on exceptions triggering both rollback and nacking - which would work almost all the time, but may have subtle side effects - e.g. if a transaction is rolled back manually (probably something you will rarely see in user code). Since the nacking is essentially a compensating measure and there is no XA support, outside manual rollback it makes little difference whether the nack happens because of the DB transaction rollback or because of the exception that triggered the DB transaction rollback: a message that fails will be redelivered.
In any case, we want to include deeper transaction support for 1.1 and that's why we want to address https://github.com/spring-cloud/spring-cloud-stream/issues/536.
Let me know how if this works for you.

Ah, yes, I made a subtle change to my answer...

stateful retry in the context of RabbitMQ no longer provides any real value,  ... unless an external transaction manager is provided.

When using stateless retry, with an external transaction manager, the retries are invoked within the transaction so it's true that when synchronizing with, say, a JPA transaction, by injecting a transaction manager, you need stateful retry so a new transaction is started for each delivery attempt.
However, this still suffers from the issues that I cited about shared state when there are multiple application instances.
Using @Transactional on the listener is very similar (from a commit timing perspective) to injecting the transaction manager into the container; the DB tx is committed when the listener exits and the rabbit message acked almost immediately thereafter. So in most cases, it's functionally the same, and has the added benefit that a new DB transaction is started for each delivery attempt.

From your replies, the following should work:
        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
        factory.setMessageConverter(mc);
        factory.setConnectionFactory(cf);
        factory.setConcurrentConsumers(1);
        factory.setMaxConcurrentConsumers(1);
        factory.setDefaultRequeueRejected(false);
        factory.setChannelTransacted(true);
        factory.setTransactionManager(platformTransactionManager);

        // use a non-transactional template for the DLQ
        RabbitTemplate dlqTemplate = new RabbitTemplate(this.cf);
        // from javadoc for StatefulRetryOperationsInterceptorFactoryBean:
        // The semantics of stateful retry mean that a listener exception is propagated to the container, so that it can force a rollback.
        // ie, use with JPA transactions
        //
        // nb: using a stateful interceptor requires listeners on a single node
        // otherwise a message could be delivered to a different node and the previous delivery state lost...
        Interceptor retryInterceptor = RetryInterceptorBuilder.stateful()
            .maxAttempts(1)
            .recoverer(new RepublishMessageRecoverer(dlqTemplate, dlqExchange().getName(), "#"))
            .build();
        factory.setAdviceChain(retryInterceptor);

But the result is infinite retries if the listener throws (pulled from debug console)
javax.validation.ConstraintViolationException, for example.
Only when setTransactionManager is not set will bad messages get sent to the DLQ.
Using
<spring-amqp.version>1.5.6.RELEASE</spring-amqp.version>

Not sure if this is a doc bug, or an implementation bug?
It's likely you'll encounter this when testing #536.
Thanks

Bear in mind that the DB commit is performed after the retry recoverer has absorbed the exception (when retries are exhausted).
If that commit (the DB) fails then the Rabbit TX will be rolled back too.
Another reason for starting the DB transaction by annotating the listener instead of injecting a transaction manager so the DB transaction is within the scope of the retry rather than the other way around.

I think I understand now. You had to say it twice :)
=> Use @Transactional if possible. Set the platformTransactionManager if you want to enlist the rabbit listener because you are not using @Transactional -- but there are problems with that approach.
My listeners are using @Transactional and I was setting the platformTransactionManager -- so that might explain the infinite retry corner case where stateful retry advice was ignored.
This is all complected and subtle stuff.
The docs explain much but there are gaps.
I think a common use case is the desire to do less expensive multi-resource transactions, specifically Rabbit Listener + JPA. I am still unclear on how well spring-cloud-stream supports this use-case.
Specifically, the interaction between multiple nodes, consumer groups, partitioning, and stateless retries for the DLQ.
Thanks again...

@srnm
Thanks (again) for the interest in Spring Cloud Stream.

I think a common use case is the desire to do less expensive multi-resource transactions, specifically Rabbit Listener + JPA. I am still unclear on how well spring-cloud-stream supports this use-case.
Specifically, the interaction between multiple nodes, consumer groups, partitioning, and stateless retries for the DLQ.

I would argue that stateless transactions are easier to reason around here, as stateless retries will ensure that a message is processed on a specific node, either resulting in a successful attempt or in DLQ redelivery. This is orthogonal to groups/partitioning.

IMO Spring AMQP SimpleMessageListenerContainer should be reworked to get rid of transactionManager and just rely on the TransactionInterceptor as a part of the adviceChain.
If you agree with me I can fill the JIRA for SA-2.0.
You can do that already now and control yourself the order of retry -> tx or tx -> retry advices. And again: you don't need stateful there.

Makes sense to me; I was talking to @dsyer about this briefly last night - Dave - any thoughts?

Yeah, the advice chain is a new feature (from the point of view of transactions in Spring Rabbit), so it wasn't available when we first wrote that code. Is it supported in Spring Rabbit directly, or only through Spring Integration? I would argue in any case that we need an opinionated API (Java or configuration) somewhere in the stack that knows how to do those two scenarios and gives them names that make sense to users (as a user I don't care about interceptors, I only care about the features, and the order). That could be in Spring Rabbit, or higher in the stack (like here, for example).
A comment on stateful/less retry with JPA is also probably appropriate. In general Hibernate (and so I would guess all JPA providers) certainly used to recommend heavily that once there is an exception that would cause a rollback you should discard the session (i.e. entity manager I guess), and proceed to rollback. That makes sense because it is stateful itself, and might contain data from the previous attempt if you continue with a stateless retry, and might lead to bad behaviour. Whether or not it does is probably highly dependent on the use case.
Gary's point about stateful retry being a memory leak is correct in spirit, but the default implementation of the RetryContextCache uses weak references, so you always get the memory back under GC pressure. As far as I know, that pattern is still used successfully in plenty of enterprises (including the original implementation in Spring Batch, which was from a global investment bank). RetryContextCache is also a strategy, so you could provide a global implementation if you needed to care about that. I never knew of anyone doing that in anger.
So what are the options, if you don't want to, or can't, use stateful retry? If there is a re-delivery count available from the broker, and the count is the only input into the retry policy, it would be cleaner to use that instead of trying to store state anywhere in the application. I'm pretty sure Rabbit didn't have that feature last time I looked, but it's possible that's changed. If not, you should at least be able to get an indication that a message was re-delivered. If you can, then you could adopt a simple policy of "retry once, if you detect a redelivery, and punt to the error channel if not".
P.S. it really shouldn't matter (much) if you use @Transactional listener inside a transactional listener container, unless you set the propagation to something weird (the existing transaction will just propargate). Maybe there's more of a story there, or maybe @srnm actually got confused and that wasn't contributing to his problems after all, or maybe he put in the wrong transaction manager or something.

@dsyer I certainly admit to confusion.
This is my first time implementing a rabbit listener and there are many facets to coordinate -- which is why I turned to spring-cloud-stream to see how it's done.
But since it is my first time -- I tried to keep things as simple as possible while working things out and doing some testing.
My experience shows that if you use @Transactional on the listener, set the platform transaction manager on the SimpleListenerContainerFactory, and set a stateless retry you should see infinite retries if the listener throws, as a result of a JPA exception for example. I didn't try to narrow down why...

@srnm

But I use stateful retry advice for the DLQ. This still appears to be the "most correct" way to do a listener that uses JPA?

Can you explain why you think that, since all the answers in this thread have stated the contrary ?

Stateful retry (in this context) is only needed for JPA if you are using a PTM, if you are not using a PTM, the JPA transaction is bounded by the listener invocation - so stateless Vs. stateful is moot in that context).

f there is a re-delivery count available from the broker, and the count is the only input into the retry policy, it would be cleaner to use that instead of trying to store state anywhere in the application.

There is  no such counter, just a redelivered flag.
If you don't care about ordering, there are some tricks to implement retry in the broker itself, without using Spring Retry  - DLX/DLQ with a TTL (time to live) on the DLQ and configured such that the expired DLQ message is requeued back to the original queue and the cycle starts again. It gets a bit tricky because in order to avoid an infinite (delayed) loop, you have to examine the x-death header to see how many times around the loop it's been and give up after some number of attempts. It gets even more complex to the configure if you want an exponential (or variable) retry delay in the DLQ.

@mbogoevici @garyrussell
Are you discounting dsyer's comment ?:

A comment on stateful/less retry with JPA is also probably appropriate. In general Hibernate (and so I would guess all JPA providers) certainly used to recommend heavily that once there is an exception that would cause a rollback you should discard the session (i.e. entity manager I guess), and proceed to rollback. That makes sense because it is stateful itself, and might contain data from the previous attempt if you continue with a stateless retry, and might lead to bad behaviour. Whether or not it does is probably highly dependent on the use case.

Can someone verify that the currently supported ORMs no longer require stateful retry?

No; not discounting, just explaining that your use case doesn't need it.

Whether or not it does is probably highly dependent on the use case.

As long as you don't inject a PlatformTransactionManager and start the transaction after the retry advice (e.g. with @Transactional) then you do not need stateful retry. The need for stateful retry when using a PTM is solely because the retry advice catches and consumes the exception; the DB commit then fails, which also causes the rabbit TX to roll back even though it was "recovered" when retries were exhausted. When there's a PTM, we need each delivery attempt to throw the exception back to the container so a new DB TX will be started for the next delivery attempt.

@srnm: If you have any follow-up comments/thoughts, please reopen it with the details.


GH-8347 added the selector for getting channels with user profiles

Summary
Selectors for getting the channels with the user profile.
Ticket Link
https://github.com/mattermost/mattermost-server/issues/8347
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit tests passed
[x] Ran make flow to ensure type checking passed
[x] Added or updated unit tests (required for all new features)
[ ] All new/modified APIs include changes to the drivers

Test Information
This PR was tested on: Mac OS Sierra, 10.12.6

@hmhealey I have made the necessary changes. I understand that we can replace matchExistsInChannelProfiles with filterProfilesMatchingTerm.
I will work on the webapp changes once the redux changes gets merged.
Kindly review


RuntimeError: Default process group has not been initialized, please make sure to call init_process_group.

When I try to train BLIP VQA, after the training, I get an error like this.

I guess you didn't use DDP, which leads to this error because dist.barrier() without multi-process.
Just modify the dist_barrier() in runner_base.py to:
if is_dist_avail_and_initialized():
                dist.barrier()

Then it will work!
Hah, you may refer to the commit of my MiniGPT4Qwen. https://github.com/Coobiw/MiniGPT4Qwen/commit/d13f9657614a6be7553c850b7f95b4c31832eeef

因为你没有使用分布式训练，注释掉那一行就好了

I am using BLIP-2 and met the same error when I ran python train.py --cfg-path lavis/projects/blip2/train/pretrain_stage1.yaml. (I have only a single GPU.)
In my case, commenting out dist.barrier() in lavis/runners/runner_base.py did not solve the error.  Instead, just changing the number of multiprocess to be 1 made the training work normally.   I mean, changing
python -m torch.distributed.run --nproc_per_node=16 train.py --cfg-path lavis/projects/blip2/train/pretrain_stage1.yaml
to
python -m torch.distributed.run --nproc_per_node=1 train.py --cfg-path lavis/projects/blip2/train/pretrain_stage1.yaml
solved the error.

I met the same error while trying to train BLIP-2 in Jupyter notebook environment (not running the script in terminal).
A temporary solution was to replace functions related to torch.distributed with functions from lavis.common.dist_utils
Specifically,
in blip2_qformer.py, add from lavis.common.dist_utils import get_rank and replace dist.get_rank() to get_rank().
In 'base_model.py', add from lavis.common.dist_utils import get_world_size and replace torch.distributed.get_world_size() to get_world_size().
I think this can solve the issues about distributed training in other scripts as well.


nix: also print channel version

Using the hash from lib.version allows to locally
reproduce the exact same nixpkgs version,
which makes reproducing build failures a lot easier.

cc @domenkozar @garbas @matthewbauer @grahamc

I'm not 100% sure it's worth wasting a few seconds, can't someone just add that when they need to debug instead? :)

Seems totally worth the few seconds if it means saving minutes of effort per dev when they want to know this?

On Nov 10, 2018, at 06:14, Domen Kožar<EMAIL_ADDRESS>wrote:
I'm not 100% sure it's worth wasting a few seconds, can't someone just add that when they need to debug instead? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

It is around 100ms on my system because I have a nixpkgs git checkout.
But with channels it only needs to read a .version file, which is quite fast.
Speaking of speed: Is it possible for community supported languages to run on the container infrastructure? I thought about having nix packaged in a deb file.

I'll assume this is good to go. I'll merge this in the next couple of days.


(maint) Fix docs for #870

I am sorry for not maintaining the documentation.
Maybe we should silently deprecate those options by not document anymore.  Is there any advantage of using them over postgresql::server::config_entry?


GitHub Actions: Fix class installation

libomp was not found. Add one more LDFLAGS to fix the problem.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.498%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4833

Relevant Lines:
4957

💛  - Coveralls

libomp was not found. Add one more LDFLAGS to fix the problem.

Look like it is working.


refactor value logic into importable function

Allows for editing Avro schema with only one other place to update.

I also made the app timestamp be created at the beginning of message loops. This could reduce the (potentially) measured message lag.


build: bump lnd to v0.16.4 and tapd to v0.2.2

Seems reasonable to bump Loop as well, it's a pretty major change wrt moving to a SQLite backend option. I'm not sure if that has any impact on our process, but if you're willing @ViktorTigerstrom, it's probably worth you picking this up and pushing it over the finish line? (tomorrow your time obviously not tonight :)

Updated the PR to also bump loop, and addressed my feedback above :)!


Github subtitle is misleading

The sidebar says: "A Redux binding for React Router v4"
Would it be better to remove the version from this subtitle? Or change it to "A Redux binding for React Router v4 and v5"

screenshot of subtitle

The README is also confusing: it says it supports v4 and v5, but then the installation instructions say it requires v6.

It doesn't support React Router v6, so I find the subtitle is quite precise.

@sarmad-ajmal I never mentioned v6. In fact, this issue was made before v6 was even released.
It supports v5 though, but the subtitle might imply it only supports v4.


[v6] Disable ChainerMN FlexCI tests on v6

Jenkins, test this please

Jenkins, test this please

Jenkins CI test (for commit<PHONE_NUMBER>b7a660e9a3a05a46e30ab7dad89424, target branch v6) succeeded!

Jenkins, test this please

Jenkins CI test (for commit<PHONE_NUMBER>b7a660e9a3a05a46e30ab7dad89424, target branch v6) failed with status FAILURE.

CI unrelated


Xojo (past aka. REALBasic) Language

Hi, could you please add the Xojo (Language Reference) Syntax as new language?

We already have the language Basic. How much difference is there between Xojo and normal Basic? Maybe you could try prism-basic.js and give us a concrete list of things, that are missing?

Know...there arme a löst of differences. I can sent you a list with all keywords, functions etc.

To be continued
Commands
#Bad
#Else
#ElseIf
#If
#EndIf
#Pragma
#Tag
AddHandler
App
Array
As
Assigns
ByRef
ByVal
Break
Call
Case
Catch
Const
Continue
End
CurrentMethodName
Declare
Dim
Do
Do...Loop
DownTo
Each
Else
ElseIf
End
Enum
Exit
Extends
False
Finally
For
For...Next
For Each...Next
Global
If
If...Then...Else
In
Lib
Line Continuation
Loop
Me
Next
Nil
Optional
ParamArray
Raise
RaiseEvent
ReDim
Rem
RemoveHandler
Return
Select
Select...Case
Self
Soft
Static
Step
Super
Then
To
True
Try
Try..Catch
Ubound
Until
Using
Wend
While
While...Wend
Data Types
Auto
Variant
Boolean
Colors: &cRRGGBBAA
Currency
Double
Integer
Int8
Short
Int16
Int32
Int64
UInteger
UInt8
UInt16
UInt32
UInt64
Byte
Single
Text
String
Dictionary
DictionaryEntry
Collection
Date
DateInterval
MemoryBlock
MuteableMemoryBlock
Point
Rect
Size
BinaryStream
FolderItem
TextInputStream
TextOutputStream
Literals
"" (String/Text)
&b (Binary Literal)
&h (Hexdecimal Literal)
&o (Octal Literal)
&u (Unicode Literal)
Operators

AddressOf
And
CType
/
^
>
>=
Is
IsA
<
<=
Mod
*
New
Not
<>
Or
-
Xor
WeakAddressOf
Methods
Abs
ACos
ASin
ATan
ATan2
Ceil
Cos
Exp
Floor
Log
Max
Min
RandomInt
Round
Sign
Sin
Sqrt
Tan


[cms] Expand ApostropheCMS stub into full guide

Description (required)

This PR expands the stub page for integrating Astro and ApostropheCMS. It provides integration details, a path to creating a blog, and additional resources.
Related issues & labels (optional)

Closes #
Suggested label: new content

Contributed by `@BobM(BoDonkey)

Hello! Thank you for opening your first PR to Astro’s Docs! 🎉
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any broken links you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Vercel 🥳

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.

Thank you for this contribution @BoDonkey ! Just a quick note to say that we've received this and will be looking at it, but it's a pretty huge submission so it will take some time to get through it. This might take us a while, but we appreciate it and will get to it probably within a week or two!

Thanks for letting me know.

Just wanted to say we haven't forgotten about you @BoDonkey ! We hope to start looking at this PR this week!  Thank you for your patience!

No worries! I can appreciate that it is a pain to review PRs like this one since you have to dig into another framework/library/app that you aren't necessarily familiar with.

I have attempted to address all of your comments. I did have a slight Git hiccup, but I checked the file changes, and I think they all landed successfully. I use GitHub daily, but I can still manage to get my repos out of sync sometimes! Thanks for your efforts with this documentation and pull request.


MatrixPresample with technosphere and biosphere not working

The following MatrixPresample was created for a coal power plant with a technosphere exchange combustion_coal_input and an emission combustion_CO2_emissions :
combustion_coal_sample = combustion_coal_input.random_sample(1000).reshape(1, -1)
combustion_CO2_sample = combustion_coal_sample * CO2_per_kg_coal

combustion_corr_matrix_presample_A = (
    combustion_coal_sample,
    [(combustion_coal_input['input'], combustion_coal_input['output'], 'technosphere')],
    'technosphere'
    )

combustion_corr_matrix_presample_B = (
    combustion_CO2_sample,
    [(combustion_CO2_emissions['input'], combustion_CO2_emissions['output'], 'biosphere')],
    'biosphere'
    )

combustion_corr_id, combustion_corr_fp = create_presamples_package(
    matrix_presamples=[
        combustion_corr_matrix_presample_A,
        combustion_corr_matrix_presample_B
    ]
)

combustion_MC_correlated = MonteCarloLCA(
    {combustion:1},
    method=('IPCC 2013', 'climate change', 'GWP 100a'),
    presamples=[combustion_corr_fp]
    )

The matrix elements for these two exchanges, returned by next(combustion_MC_correlated were not correlated as expected.

Fixed.


navbar: Remove userlist unread count.

discussioN: https://chat.zulip.org/#narrow/stream/101-design/topic/unread.20counts.20in.20top.20bar

Done. Thanks!

Looks good to me code-wise, haven't tested it.

OK tested to my satisfaction, and marked to merge once CI passes. Thanks @amanagr!


[EN]  Page fails to scroll on Safari 9.11.1 (Mac OS 10.11.5)

Feedback for: /web/fundamentals/performance/?hl=en
Works in Chrome and Firefox. On Safari, only the rightmost column scrolls, not the content.

@sgomes @petele please sort asap, this is getting beyond a joke now.  I know we are planning to migrate back into devsite soon but right now we need to get this fixed, people can't use our site.

This is not an MDL issue, as it only affects Web Fundamentals. WF seems to be modifying page and MDL layout styles, and is triggering a Safari bug. Workaround on #3118.

This should be fixed now. Sorry about that!!


Update VSL.Imports.Targets for signing in Microbuild V2

With this change, We are signing all our present binaries and the single VSIX. In the future, if more binaries gets added to the VSIX then those binaries will be automatically signed as well
But we are shipping a product binary out of a VSIX then Imports.targets needs to updated accordingly
Note: Set the variable RunningInMicroBuild = true in Microbuild definition to sign the product while building the product in microbuildV2

Tagging @dotnet/roslyn-analysis @davkean @srivatsn @jinujoseph for review

ping?

okay, with the latest commit, it all makes sense now. :+1:


setParameters on shape component

Hi, I have two questions about shape components.
I have a shape component with a cylinder and a label. Is it possible to alter the color and the size of both objects in the shape component without disposing and rebuilding entirely (like using a setParameter method)?
And is it possible to keep the label in front of the cylinder like a distance representation?

I have a shape component with a cylinder and a label. Is it possible to alter the color and the size of both objects in the shape component without disposing and rebuilding entirely (like using a setParameter method)?

No, not possible. If you have a large number of cylinders and labels it is good to create CylinderBuffer and TextBuffer objects instead of shape.addCylinder and shape.addLabel, plus you can change the color and size of the buffer objects without disposing and rebuilding. See this example https://codepen.io/arose/pen/qXgxap?editors=0010.

And is it possible to keep the label in front of the cylinder like a distance representation?

Yes, using the zOffset parameter http://nglviewer.org/ngldev/api/typedef/index.html#static-typedef-TextBufferParameters, for shape.addLabel set it when instantiating new Shape({labelParams: {zOffset: 5}})

Great solution, only one thing. In my example hear I tried to alter the length of a cylinder created before and at the same time tried to add two other cylinders. I noticed that the dimension of the first cylinder was changed but the other cylinders did not appeared.  Is it possible that the new buffers length is not updated?

At the moment it is not possible to alter the size of buffers, you will need to re-create them. There is some exception for mesh-buffer (which makes changing the isosurface threshold so fast) but I haven't generalized that. Eventually it will be possible.

Is there anyway to alter the opacity of a buffer?

keep a reference to the buffer and then do buffer.setParameters({opacity: 0.5})

Is it possible to add a tooltip/hover text to buffers the way it is done with shapes?


Cleanup onTeamsMembersAdded event

With the changes to the data returned from the get members API, we should audit/cleanup our augmentation of the onTeamsMembersAdded event. The additional call to get more information about the user who was added is probably extraneous now. At a minimum we should switch to the get single member endpoint outlined here
[enhancement]

@clearab, this is a self-assigned issue from 2 months ago. How can we push this forward?

@cleemullins I think this makes sense as an R10 Issue.

Closing as duplicate


Handling of API Errors in the SDK

:wave:
I've been meaning to raise this one for a while.. in this case I'm using the SQL Databases SDK - however this also applies to CosmosDB Accounts and I believe Container Service (amongst other services) too.
When making the following request using the SQL Databases SDK with an invalid configuration:
PUT /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctest_rg_5909366699526987910/providers/Microsoft.Sql/servers/acctestsqlserver5909366699526987910/databases/acctestdb5909366699526987910?api-version=2014-04-01 HTTP/1.1
Host: management.azure.com
User-Agent: HashiCorp-Terraform-v0.10.0-dev
Content-Length: 179
Content-Type: application/json
Accept-Encoding: gzip

{
	"tags": {},
	"location": "eastus",
	"properties": {
		"collation": "SQL_Latin1_General_CP1_CI_AS",
		"createMode": "Default",
		"edition": "DataWarehouse",
		"requestedServiceObjectiveName": "System"
	}
}

which returns the response from the API:
HTTP/1.1 400 Bad Request
Content-Length: 323
Cache-Control: no-store, no-cache
Content-Type: application/json
Dataserviceversion: 3.0;
Date: Tue, 29 Aug 2017 23:18:28 GMT
Preference-Applied: return-content
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Ms-Correlation-Request-Id: b6059a2e-6c97-4f31-aa5f-37689644e58a
X-Ms-Ratelimit-Remaining-Subscription-Writes: 1197
X-Ms-Request-Id: 936005d0-13ee-4142-8039-43b972c2df7c
X-Ms-Routing-Request-Id: UKWEST:20170829T231829Z:b6059a2e-6c97-4f31-aa5f-37689644e58a

{
	"code": "40808",
	"message": "The edition \u0027DataWarehouse\u0027 does not support the service objective \u0027System\u0027.",
	"target": null,
	"details": [{
		"code": "40808",
		"message": "The edition \u0027DataWarehouse\u0027 does not support the service objective \u0027System\u0027.",
		"target": null,
		"severity": "16"
	}],
	"innererror": []
}

When checking the error response from the SDK for this call, the error returned is:
sql.DatabasesClient#CreateOrUpdate: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="Unknown" Message="Unknown service error"

Whilst it's possible to deserialise the response in each case and parse out the error message; it feels like something the SDK should be doing. As such would it make sense for the SDK to automatically check for and parse an error response if it's not a successful status code and append that to the error message (which in it's current form isn't particularly helpful)? In addition - it seems odd that the code is Unknown when BadRequest is being returned from the API?
@marstr @mcardosos what do you think? :)
Thanks!

Just to add another example to this, I believe we’ve also seeing this from the CosmosDB SDK (but I don’t have a sample to hand)

Just found another example for this - when updating an App Service (which, coincidently I think the Swagger's broken for - but I'll file a separate issue on the Rest API Specs repository about that 😄)
Response:
{
	"Code": "BadRequest",
	"Message": "ttlInSeconds object is not present in the request body.",
	"Target": null,
	"Details": [{
		"Message": "ttlInSeconds object is not present in the request body."
	}, {
		"Code": "BadRequest"
	}, {
		"ErrorEntity": {
			"ExtendedCode": "01008",
			"MessageTemplate": "{0} object is not present in the request body.",
			"Parameters": ["ttlInSeconds"],
			"Code": "BadRequest",
			"Message": "ttlInSeconds object is not present in the request body."
		}
	}],
	"Innererror": null
}

Error:
web.AppsClient#CreateOrUpdate: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="Unknown" Message="Unknown service error"

Hope that helps :)

hey @jhendrixMSFT
Just checking in - we're still seeing this in SDK 11.1 and AutoRest 9.4.1 for the Container Service SDK (issue) - is there a rough timeline for when this will be fixed? :)
Thanks!

Hello @tombuildsstuff sorry this has languished a bit.  I will try to dig into this in the next few days, if it ends up being an easy fix we can roll it into v12.

OK I looked into this and using your example for SQL this is fixed in the upcoming v12 SDK.  Here's the output I get in a test program I wrote.
panic: sql.DatabasesClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="40808" Message="The edition 'DataWarehouse' does not support the service objective 'System'." Details=[{"code":"40808","message":"The edition 'DataWarehouse' does not support the service objective 'System'.","severity":"16","target":null}]

goroutine 1 [running]:
main.main()
        D:/work/src/playground/issue748/issue.go:46 +0x7b3
exit status 2

The output is a little wonky due to how we wrap exceptions (something I'd like to eventually clean up) but you can actually get the underlying issue which is good.

@jhendrixMSFT that's great news - thanks for looking into this :)

@jhendrixMSFT @tombuildsstuff  i am still seeing this issue when trying to update an appservice, exactly like tom showed above!

I am seeing this error when attempting to update an existing App Service Plan, but the scenario seems to arise when you have multiple ways of updating the App Service using Terraform and each has its state file.

@sjwaight @pixelicous just to let you know that the App Service errors are related to a bug in the App Service API's (which is being tracked here) - and not related to the SDK / this issue (which has been resolved).

@tombuildsstuff thanks mate.. ill take a look

Howdy folks, seeing as we've confirmed this issue as resolved and it's still triggering response, I'm going to lock the conversation. If you believe you're running into a related issue, and don't find the guidance you need in the issue @tombuildsstuff linked above, please open a new issue in this repository.


setting collateral on multiple machines

I'm not very technical when it comes to this. This is my interpretation of the issue I am facing, I'd appreciate any input!
I've created a Nami wallet that I've been using on my desktop but have recently restored it to my laptop so I can use it remotely. It seems like every time I want to delist/alter a smart contract NFT listing I need to reset the collateral for the wallet on the computer I'm currently using. I am on my laptop now and I'm not able to delist an NFT on cnft.io because after setting the collateral on my laptop it claims the collateral has been removed from the asset ("posted collateral is invalid or spent") when I click 'unlist'. I assume this is because I posted that SC listing on my desktop and set the collateral there, and this collateral gets unset when I set it on the laptop? Is there a way this can be resolved so I can harmoniously use the same Nami wallet on two or more devices? Thank you :)

Hey, yeah that is kinda tricky, because Nami only seperates the collateral amount locally, so the other instance doesn't know about it. The collateral thing is also something that can be removed in the future, it's just temporary because of some security reasons, but not necessary anymore after some more Cardano updates. For now we have to live with it :)

I'm also having issues with this.

I set collateral on computer 1
I set collateral on computer 2
Can't submit TX on SundaeSwap anymore:
Jan 23 21:09:44 cardano-mainnet-s01-r02 bash[3101906]: [cardano-tx-submit:Info:36] [2022-01-24 02:09:44.04 UTC] txSubmitPost: failed to submit transaction: transaction submit error ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError [UtxowFailure (WrappedShelleyEraFailure (UtxoFailure (TooManyCollateralInputs 3 6)))])

It seems that Nami consider all UTXO of 5000000 lovelace to be a collateral when it should only consider one.

I'm also having issues with this.

I set collateral on computer 1
I set collateral on computer 2
Can't submit TX on SundaeSwap anymore:
Jan 23 21:09:44 cardano-mainnet-s01-r02 bash[3101906]: [cardano-tx-submit:Info:36] [2022-01-24 02:09:44.04 UTC] txSubmitPost: failed to submit transaction: transaction submit error ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError [UtxowFailure (WrappedShelleyEraFailure (UtxoFailure (TooManyCollateralInputs 3 6)))])

It seems that Nami consider all UTXO of 5000000 lovelace to be a collateral when it should only consider one.

Yes I made a little update, where I also allow now utxos between 5-50 ada as collateral. Are you on version 3.1.2? But this looks like Sundaeswap is building the tx wrongs, they include too many utxos in the collateral field

Hey, yeah that is kinda tricky, because Nami only seperates the collateral amount locally, so the other instance doesn't know about it. The collateral thing is also something that can be removed in the future, it's just temporary because of some security reasons, but not necessary anymore after some more Cardano updates. For now we have to live with it :)

Any idea when an update will fix this. it is quite annoying when switching between my laptop and destop.
Thanks.


Fixes incorrect usage of HTTPie in example

According to HTTPie docs (https://httpie.org/doc#request-items) the --form argument forces the request to use form encoding rather than JSON encoding.  This causes an error in the codebase as the Flask app is expecting JSON.  This PR removes references to --form in the HTTPie examples.

Thanks for catching that bad command.


Empty graphics in bigdesk plugin

Hi:
I have installed bigdesk, but there are a few graphic that i cant see, for example:
OS
CPU vendor: n/a
CPU model: n/a
CPU total logical cores: n/a
CPU cache: n/a
Process
Total: 100%
Process:
File system
Writes: n/a
Reads: n/a
Write: n/a
Also i can see the Experimental cluster Pack diagram
Any suggestion??
Many thanks and goo job

Which version of elasticsearch you have installed

I am archiving this repository now. Thanks for contributions.


Add pinia

update Quasar and related dependencies
add Pinia store for state management
decouple state from presentation (move state-related logic from components to store)
add Jest test framework and some tests for store (will add to GH workflow once #279 is merged)

@nazar-pc there were some bugs as a result of refactoring


As a keptn developer, I can automatically set up a demo environment

We have an on-demand dedicated demo environment, where that latest features and overall use cases can be demonstrated. This environment can also be used for sprint reviews and community meetings.
Acceptance criteria

Given I'm a person that gives a demo
When I get a fresh Kubernetes cluster
Then I want to be able to install keptn including all core components automatically

During the night, a travis cron job sets up a new environment and installs keptn in the version of the master-branch.
Refinement of Then: keptn is automatically installed by the travis cron job

Completed:

Setup of a nightly-cluster using keptn in version 0.2.1. This cluster is re-created on a daily basis using a Travis cron job.
End-to-end tests verify the functionality

Missing due to dependencies on issue #327:

The nightly cluster should be set up using the versions contained in the dev-branches of the core components.
Extend end-to-end tests: (1) test which pushes an artifact into dev, staging and prod, (2) test with quality gates in place
Rename scripts: Currently, the scripts are named 'pr_main' and 'master_main'. These names are misleading.

Closing this issue. Missing tasks are transferred to #337


Create thmkhai-nuithanh.txt

1. The school official website URL
:
https://thmkhai-nuithanh.edu.vn

2. The school street address, including the city:

Tam Thanh commune, Nui Thanh district, Quang Nam province, Quang Nam City, Viet Nam

3. An URL of a page on the official website where the school offers an IT-related long-term course  (>1 year):
Although we currently offered a course to students, we have not yet updated this webpage. We regularly hold IT competitions for students in an effort to encourage programming language learning. Next, we have plans to make these courses longer. You can view the contest photo below
You can see some pictures of the contest that school have organized here :
https://thmkhai-nuithanh.edu.vn/tin-tuc-su-kien/ioe.html
4. An URL of a page at the official school website:
https://thmkhai-nuithanh.edu.vn/phong-giao-duc
Have nice day!
Thanks supports

@philipto
Please reach out if you have any questions regarding the inclusion of the Nguyen Thi Minh Khai School domain in the JetBrains list.

@thmkhai-nuithanh Thank you for your request. It is now in the review. We'll notify you about the result as soon as possible.

Thank philipto,
Because of the long wait, I applied with official document (OFFICIAL DOCUMENT tab at https://www.jetbrains.com/shop/eform/students).
Thank you so much philipto

@thmkhai-nuithanh Thank you for your patience while waiting for a review and processing your request. Pull request merged.


added new 12.3 TDE image

this image based on Cybertec's 12.3 TDE version ported to postgres' base alpine docker image: https://www.cybertec-postgresql.com/en/transparent-data-encryption-installation-guide/

For anyone interested, size of image was approx 237mb


Make diagnostics declarative

A long overdue quality of life improvement to the diagnostics system so that you only have to modify one plave to add a new error instead of 4-5 spread accross many files.

Was just wondering how would special options like -Wpedantic or -Wextra would be handled? Like, handling them as special cases in Diagnostics.set()?

Probably yeah, -Wfatal-errors is already special cased in that way.

Very nice, great example of Zig's metaprogramming capabilities


Missing arguments to add networking endpoints for "Confluent Kafka Replicator" custom connector

I could add and configure the confluent kafka replicator custom connector manully (https://www.confluent.io/hub/confluentinc/kafka-connect-replicator?_ga=2.168227108.461229490.1731923735-1325076423.1727250622&_gac=1.19373514.1731926129.Cj0KCQiA6Ou5BhCrARIsAPoTxrDuTAPqKIm6sKgV33s84T9m1AILOTkoCf_A6fDvPkWic3Oe_vf30ckaAi98EALw_wcB&_gl=1mpufiw_gcl_awR0NMLjE3MzE5MjYxMjkuQ2owS0NRaUE2T3U1QmhDckFSSXNBUG9UeHJEdVRBUHFLSW02c0tnVjMzczg0VDltMUFJTE9Ua29DZl9BNmZEdlBrV2ljM09lX3ZmMzBja2FBaTk4RUFMd193Y0I._gcl_auODYzMTIzODA3LjE3MjcyNTA2MjEuMTY3MDMyODg3NC4xNzI4OTExMDUwLjE3Mjg5MTEwNTA._gaMTMyNTA3NjQyMy4xNzI3MjUwNjIy_ga_D2D3EGKSGD*MTczMjA4ODIzOS45NC4xLjE3MzIwOTEwOTguMTUuMC4w). Now I want to use terraform to create a confluent replicator connector.
To configure this connector I need to add several networking endpoints (see in the following screenshot).

Unfortunatelly I could not find where to set the network endpoints arguments in Terraform. Do I need to set the network endpoints manully after the connecor is created by terraform?
https://registry.terraform.io/providers/confluentinc/confluent/latest/docs/resources/confluent_connector

@jinjuewei thanks for creating this issue!
Could you share your current TF configuration of confluent_connector resource?

hi  @linouk23 ,
I fould the solution for this issue. I could use the following argument (description can be found in [https://docs.confluent.io/cloud/current/api.html#tag/Connectors-(connectv1)/operation/createConnectv1Connector]):
confluent.custom.connection.endpoints   string [Optional for Custom Connector] Egress endpoint(s) for the connector to use when attaching to the sink or source data system.

I can use wildcard, but limited.

with *.xxx.xxx.xxx:9092 I got error message: Connector config "confluent.custom.connection.endpoints" does not support use of only wildcard for a domain.

with b*.kafka-factory.powerco.tech:9092, it works

I can add list of endpoints, with semicolon as seperator, but not with comma.

"confluent.custom.connection.endpoints" = "lb.xxx.xxx.xxx:9092:TCP;b0.xxx.xxx.xxx:9092:TCP;b1.xxx.xxx.xxx:9092:TCP;b2.kafka-factory.powerco.tech:9092:TCP"` it works

"confluent.custom.connection.endpoints" = "lb.xxx.xxx.xxx:9092:TCP,b0.xxx.xxx.xxx:9092:TCP,b1.xxx.xxx.xxx:9092:TCP,b2.kafka-factory.powerco.tech:9092:TCP"  it doesn't work. I got error message: Connector config "confluent.custom.connection.endpoints" have an invalid format. Expected format <HOSTNAME_PATTERN>:<PORTS_LIST>[:<PROTOCOL>]

That's great to hear @jinjuewei! Is your current solution sufficient to resolve this issue?
The approach I recommend for similar issues is to open the CC UI, set up your target configuration there, and then use your browser's Dev Tools to examine the network requests. Review the exact response from the Connect API (or any other API) and copy them into the corresponding TF definitions (i.e., confluent_connector).

hi @linouk23 ,
yes, the current solution is sufficient. The problem is solved.


It seems that the character-level embedding is not in character-level

According to what the paper said, a word should be split in following way:
'mars' --> 'm', 'a', 'r', 's'
and through a bi-lstm and embedding, we yield a output.
However, I notice that in 'char_mapping' operation, a sentence is regarded as the key
Am I wrong?

Oh, I get it! It's in 'prepare_dataset' you do the operation mentioned above
Sorry for that!

not 'prepare_dataset' but 'create_dico'


Add EventGateway to configuration

The PR resolves #1047
Streamline EventGateway with CommandGateway/QueryGateway:
Adding it to spring boot autoconfiguration as well as to axon configuration and configurer,
exactly like in case of CommandGateway/QueryGateway.

Thanks for providing this PR @rvilike! Note though that you've started your branch off of master. This means, it will be part of Release 4.2.
I'd personally view this enhancement a fair addition for 4.1.2, thus you are free to adjust the base branch of this PR to point to axon-4.1.x.
Doing so will make it possible to release this for 4.1.2.

@abuijze I think currently that's also the case with CommandGateway and QueryGateway, since I can't see them in SpringAxonAutoConfigurer either. So should the gateways rather be aligned, or add EventGateway to SpringAxonAutoConfigurer (but then I guess CommandGateway and QueryGateway would need to be, too? - just not in this PR I guess)


Add can_install to dnsmasq tool

This should fix dnsmasq installation errors in perf_nested_kvm_netperf_pps_nat and perf_nested_kvm_ntttcp_different_l1_nat.

This has ntttcp error as discussed in #1937. We should start to see this test pass once ntttcp issue is resolved


Display descriptive text

Just an idea, would it make sense to have a property on the $http calls with some descriptive text, that the loading bar could display next to the spinner? E. g. "Please wait, loading order details" etc.

+1

+1

+1

+1

+1

You may provide a custom template to do this sort of thing https://github.com/chieffancypants/angular-loading-bar#customize-the-template


Transferring Flow between Cadence and EVM

COAs provide out of the box $FLOW token bridging between environments (see deposit(from: @FlowToken.Vault)). They are also powerful resources which integrate native cross-VM bridging capabilities through which applications can bridge arbitrary fungible and/or non-fungible tokens between Cadence and Flow EVM. Checkout the https://github.com/onflow/flips/pull/233improvement proposal for more details.
Note that transferring $FLOW from COAs to EOAs is not dependent on the VM bridge. This can be done in a similar manner to transfers in other EVM environments via a call without data transmitting value, as showcased below:
/// Assuming the signer has a COA in storage & an EVM $FLOW balance to cover the amount specified...
transaction(to: EVM.EVMAddress, amount: UFix64) {
    prepare(signer: auth(BorrowValue) &Account) {
        let coa = signer.storage.borrow<&EVM.CadenceOwnedAccount>(from: /storage/evm)!
        coa.call(
            to: to,
            data: [],
            gasLimit: gasLimit,
            value: EVM.Balance().setFlow(flow: amount),
        )
    }
}

address(): EVMAddress returns the address of the smart contract, and the EVM address that is returned could be used to query balance, code, nonce, etc.
deposit(from: @FlowToken.Vault) allows depositing FLOW tokens into the smart contract (Cadence to Flow EVM). On the EVM side, the money for the deposits are always transfering from 0x0000000000000000000000010000000000000000 (native token bridge address). The balance of that address is adjusted before transfer.
withdraw(balance: Balance): @FlowToken.Vault allows withdrawing balance from the Flow EVM address and bridges it back as a FlowToken Vault to be handled on the Cadence side. On the EVM side, the money for the withdraw are always transfered to 0x0000000000000000000000010000000000000000 (native token bridge address) and then the balance of that address is adjusted.

@gregsantos is this doc necessary?  It's already covered by https://github.com/onflow/docs/pull/758.

@jribbink that outa do, ty

completed in https://github.com/onflow/docs/pull/758


Failing test_germany.py

I get the following errors when running the test program. It seems to be putting in an blank value for the state. I changed back to the previous version of /data/wordwide.yml and the test passed. So suggest something in the latest YAML file I pushed isn't being processed correctly.
======================================================================
FAIL: test_street (main.TestAddressFormatterGermany)
Traceback (most recent call last):
File "C:\Scripting\test\international_address_formatter\test_germany.py", line 8, in test_street
self.assertEqual(
AssertionError: 'Bahnhofstr. 10, 86150 Augsburg, Germany' != 'Bahnhofstr. 10, 86150 Augsburg, , Germany'

Bahnhofstr. 10, 86150 Augsburg, Germany

Bahnhofstr. 10, 86150 Augsburg, , Germany
?

@dunkelstern , have you been able to take a look at this bug? I looked through the code but could not follow it to clearly.
Regards,
Kim

Sorry I didn't see the issue until now, looking into it on the weekend. Thanks for reporting!

@dunkelstern , I think the 3 pull requests should fix this. Can you approve them? Have been waiting 4 months so far.


Latencies metrics not available

I am using CE <IP_ADDRESS> vs of aerospike and 1.1.1 APE. But I am getting latency histograms in the metrics.
Albot on the Aerospike confirmed it is a bug.
More details here: https://discuss.aerospike.com/t/not-able-to-get-udf-latency-metrics-with-ce-5-1-0-4-with-prometheus-exporter/7763

Here is the bug https://github.com/aerospike/aerospike-prometheus-exporter/blob/5487eac2c2c1beade9847e1440dda28bf3ab6c83/latency_parser.go#L20
There is no semi-colon with new version.
Here is the output of
asadm -e 'asinfo -v "latency:" -l'
{ns1}-read:
{ns1}-write:
{ns1}-udf:
{ns1}-query:
{ns2}-read:msec,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{ns2}-write:
{ns2}-udf:msec,2103.1,2.42,0.68,0.28,0.07,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
{ns2}-query:

asinfo -v "latency:" returns the original string, and it has the semi-colon.

@khaf I have updated the bug. Please check again.
I added
if err := ip.Expect(";"); err == nil {
  continue
}

in latency_parser to fix this temporarily

@gunjansharma would it work if you changed this break:
https://github.com/aerospike/aerospike-prometheus-exporter/blob/5487eac2c2c1beade9847e1440dda28bf3ab6c83/latency_parser.go#L45
to continue?

@khaf No, because there is "comma" later in the string for a different namespace and different operation.

Hi @gunjansharma
Thanks for reporting this. I did take a look at this issue.
The output of latency: info command has changed in 5.1 for when there's no latency data.
When there's no data, instead of error-no-data-yet-or-back-too-small, aerospike now returns an empty output like this batch-index:;{test}-read:;{test}-write:;{test}-udf:;{test}-query: which is breaking the parser.
I think we will apply the fix what you have done... Let's see.

@spkesan While you are doing that might I suggest moving away from latency to latencies. Since latency is going to get deprecated soon?

@spkesan I think we should also query for the latencies: as well, and fall back to latency: if it was empty.

Hi @gunjansharma
This issue has been fixed in the latest release and also the exporter will now use latencies: info command against Aerospike versions 5.1 and above.
https://www.aerospike.com/download/monitoring/aerospike-prometheus-exporter/notes.html#1.1.2
Thanks again for reporting. I'll go ahead and close this issue.


fix/response

Please review before merging.

:tada: This PR is included in version 1.20.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


refactor: change package name (again)

ssia

oof I think I meant to add these review comments to #103 but ¯\(ツ)/¯

Yep you're right with the naming changes @sherwinski


Language version vs "enabled in"

https://github.com/dart-lang/sdk/blob/60c86a400963cbf81ed68ba8444e78d5b1685fc2/tools/experimental_features.yaml#L94-L112
We have language features enabled in "dot" releases.
So which language version were these turned on?
Relates to @munificent new doc
If a feature was enabled in 2.2.2 I'd expect it's language version to be 2.3 – right?
CC @stereotype441

All pre-language-versioning-feature releases are not under language-versioning control.
We do not distinguish between language levels below "release of language versioning", they are all considered to be equivalent to "release of language versioning" minus 0.1. That's where we start counting language versions from.
(Obviously tools with the knowledge to detect problems can still warn about them, but they might need, for reasons like this, to look at the actual SDK minimum requirement of a package rather than the language level).
That means that control flow collections are available in language versions 2.0 through 2.7 because these are all equivalent to 2.7 (which is so far the language-versioning - 0.1 version).

I'm going to close this since with language versioning all features are released in minor versions (3.x), and the pre-language versioning entries called out here were reduced to 2.0.0 in https://github.com/dart-lang/sdk/commit/01154855d1ea8ba460ce67ee06c8f1626547fa52, following the decision in https://github.com/dart-lang/language/issues/286#issuecomment-503614115.
Please reopen if you still have any concerns here :)


Miscellaneous fixes to stay aligned with schemas

Travis failure is due to the validator not using the schemas from oasis-open/cti-stix2-json-schemas#53 yet.


Ensure that binaries-location is used when caching is enabled

In this build I found that although a cache entry was found and restored for the binaries that were installed in a previous build, the binaries were not added to the path.
When caching was disabled everything worked as expected.
I think that we need to use the finalBinLocation in the code path that uses the cache.

Thanks for the contribution!


[AutoDiff] Fix double release in indirect pullback results.

Previously two destroy_addrs may be emitted on the same result from a pullback when the result is indirect. This caused segfaults in TF-437.
Since we are looping over all pullback results in AdjointEmitter::visitApplyInst, we should release the unused ones and indirect ones as we go over and process them. There should not be a call to emitRelease before we deallocate all indirect adjoint buffers.
Resolves TF-437.

@swift-ci please test tensorflow

TODO: Add a test.

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow Linux

Does the "self" code directly above the loop that you modified need the same change?

Yes good catch.

Done!

@marcrasi Oops, i was deleting "please test" comments and accidentally deleted yours!

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow Linux

@swift-ci please test tensorflow Linux


Configure commitlint and husky

Fixes: #56

Thank you! I will review the PR over the weekend and merge it.


Announcements feature to be release codev48.2.0

Previous pull request was getting messy, so created new branch with new PR. Code is latest with your inputs. Thanks

This has been added via https://github.com/nsrr/sleepdata.org/commit/8bfe653cb5207fa25b965bf7b8a407717f53be6c.


Error at data block "aws_ami" "eks_worker_windows" : returned no results

Description
While offboarding an eks cluster received this error.
│ Error: Your query returned no results. Please change your search criteria and try again.
│
│   with module.eks-controlplane.data.aws_ami.eks_worker_windows,
│   on .terraform/modules/eks-controlplane/data.tf line 27, in data "aws_ami" "eks_worker_windows":
│   27: data "aws_ami" "eks_worker_windows" {
│

Here, is the configuration we are using
module "eks-controlplane" {
  source                          = "terraform-aws-modules/eks/aws"
  version                         = "15.1.0"
  cluster_version                 = "1.21"
  vpc_id                          = ...
  subnets                         = ....
  cluster_endpoint_private_access = true
  cluster_endpoint_public_access  = false
  cluster_service_ipv4_cidr     = var.eks_service_cidr
  cluster_create_security_group = false
  cluster_security_group_id     = aws_security_group.eks-additional-sg.id
  map_users                     = local.map_user
  map_roles                     = local.map_roles
  cluster_encryption_config = [
    {
      provider_key_arn = aws_kms_key.eks.arn
      resources        = ["secrets"]
    }
  ]
  tags = ...
}

Need help to fix this issue as we would like to offboard old eks 1.21 tenants to save costs but stuck at the above error. Let me also know if any walkarounds are available. Thanks

As my task was to offboard the eks cluster and we are using windows anywhere in our environment.
Made a quick and dirty fix to resolve this issue.
Removed the windows data block from data.tf and replaced the occurance if it with another ami id.
 sed -i '/eks_worker_windows/,+15d' .terraform/modules/eks-controlplane/data.tf
 sed -i 's#data.aws_ami.eks_worker_windows.id#data.aws_ami.eks_worker.id#g' .terraform/modules/eks-controlplane/local.tf

The module version is quite old and outdated, plus the version of EKS yo are using is no longer supported so we won't be able to offer any help here


fix(TFD-2752): Use two MAIN connectors in Replicate output.

What is the current behavior? (You can also link to an open issue here)
PropertyPathConnectors are hashed exclusively on their name (a.k.a. "type" in the sense that MAIN and REJECT are expected values).  You can't have two MAIN connectors on the same component.
What is the new behavior?
The Replicate component requires two MAIN connectors, so one of them changes the default equals() implementation of PropertyPathConnectors to prevent it from "colliding" in the Set.
Please check if the PR fulfills these requirements

[X] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[ ] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[X] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

Pull request test result: success :star:
Sonar results

Pull request test result: success :star:
Sonar results


Huge performance improvement for uploads

FTP OS: Unix
FTP Server: Various
Computer OS: Windows Server 2008 R2
It has been observed how much slower FluentFTP uploads are compared to that of other FTP applications (https://github.com/robinrodricks/FluentFTP/issues/332), in our application, concurrent uploads were taking an hour with FluentFTP and about 6 minutes with FileZilla.
By looking at the code I have determined a major source of FluentFTP's slowdown, there is no buffering between the SSL stream and the Network Stream, this means we end up with a lot of small writes from the SSL stream to the Network Stream. Writing to a network stream is incredibly slow as this requires marshalling, by using a BufferedStream we can vastly reduce the amount of marshalling involved.
Through the use of reflection I was able to inject a BufferedStream into the correct locations, after this change our uploads now actually upload faster than FileZilla, taking 5 minutes instead of the previous hour.
Here is the code I used to achieve this:
private static BufferedStream InjectBufferedStream(Stream ftpDataStream, int bufferSize = 81920)
{
    Contract.Requires(ftpDataStream != null);
    Contract.Ensures(Contract.Result<BufferedStream>() != null);

    // A gross method to inject a BufferedStream between the SslStream and the NetworkStream
    // remove this if we ever update to a version of FluentFtp with this built in

    const BindingFlags privateField = BindingFlags.NonPublic | BindingFlags.Instance;

    var sslStreamField = typeof(FtpSocketStream).GetField("m_sslStream", privateField);
    var sslStateField = typeof(SslStream).GetField("_SslState", privateField);
    var sslStateInnerStreamField = sslStateField.FieldType.GetField("_InnerStream", privateField);
    var authenticatedInnerStreamField = typeof(AuthenticatedStream).GetField("_InnerStream", privateField);

    var sslStream = (SslStream)sslStreamField.GetValue(ftpDataStream);
    var sslState = sslStateField.GetValue(sslStream);

    var networkStream = (NetworkStream)authenticatedInnerStreamField.GetValue(sslStream);

    var bufferedStream = new BufferedStream(networkStream, bufferSize);
    authenticatedInnerStreamField.SetValue(sslStream, bufferedStream);
    sslStateInnerStreamField.SetValue(sslState, bufferedStream);

    return bufferedStream;
}

With this reflection version, the BufferedStream must NOT be disposed and must have Flush or FlushAsync called before the ftp data stream is disposed. This will not be required in the final merge request version.
For example:
using (var remoteStream = await ftpClient.OpenWriteAsync(remoteFilePath, FtpDataType.Binary).ConfigureAwait(false))
{
    var bufferedStream = InjectBufferedStream(remoteStream);

    await fileContents.CopyToAsync(remoteStream, 81920, CancellationToken.None).ConfigureAwait(false);

    await bufferedStream.FlushAsync(CancellationToken.None).ConfigureAwait(false);
}

I will follow this issue with a merge request to actually make this change.
Logs :

N/A

I am in the process of doing this during working hours so intend to make the PR on monday.

is there anything need to be done to gain this performance? I use the example code on github page "client.UploadFile" but it is 20x slower than .Net built-in FtpWebRequest.

@Lukazoid I merged your PR and its included in the latest release. Could you please check if everything is working as intended?

@Lukazoid I merged your PR and its included in the latest release. Could you please check if everything is working as intended?

updates: I modify my test code to have only one instance of FtpClient that does all the files uploading (around 300 files that total in 1GB).  This speeds things up alot but still, it is around 4x-5x slower than ftpwebrequest.  Also, ftpclient is not thread safe i suppose, when i upload files using same instance of ftpclient in parallel (my own task scheduler), it crashes.


save fake http request with slash.

So I'm using the cache with $http, and for some api calls I receive many many objects.
What I wanted to do is when I call one of those calls, not only cache the answer itself, but also other possible calls that are pointless, because they'll just ask for part of the data already received.
So when I tried to
 cache.put('resource_'+escape(entry.id)+'/info', entry);

for some reason it thrown my code to execute the responseError function of the http interceptor service.
I tried removing the slash and it "works" but obviously doesn't cache the entry for the forthcoming http requests.
Thanks!

It comes down to caching the right data. You'll have to store your other calls in the exact same format that $http saves them. $http stores the response and all of the meta data, so you'll have to make that other stuff up.

Ok but the problem is with the key name, for some reason it wont let
me.cache a key which has a forward slash on it '/'

You can cache with any key, as long as it is a string. Can you provide the stack trace?

OMG, I was trying to isolate the problem to post it here, when I noticed is not about your library, but about my code.
Totally sorry for that!


Consider adding a loss balancer?

Although this is departing a bit from the original AudioLM and SoundStream work, I see that you also like to combine the best ideas from multiple sources.
Perhaps consider adding an EMA-based loss balancer?
https://github.com/facebookresearch/encodec/blob/main/encodec/balancer.py
Then, the generative loss can mix a variety of spectral losses and the waveform loss:

@turian loss balancer is quite cool! I'll take a look at it next week, thanks!

It seems like multiscale spectral losses are here to stay. (If your curious, check out my paper "I'm Sorry For Your Loss" for why I still think we need audio losses that match human perception and lead to better optimization.)
Anyway, there's also been a debate about whether to use l1 or l2 and choice of n_fft. I guess using them all is a good idea. I'm a little surprised they didn't also bother to mix in the logspec, like many works (e.g. hifigan) do.

@turian ha! nice title 😂

Still interested in this :)

@lucidrains Now that Encodec is MIT licensed, I think this would be great to adopt.


Update devDependencies

jest                 ^29.2.2  →  ^29.3.1
sass                 ^1.56.0  →  ^1.56.1

@XhmikosR do you plan to add more updates in dependencies? This PR was in draft state

Yeah, I thought I'd keep it a bit more time open to push further updates.


Careen should support git commit hashes in addition to tags

Commit hashes are currently recommended within manifest, but not required, because code has only been implemented to checkout by tag. We should implement git2go code to checkout by hash and require hashes since they are more robust than tags.

should be a p3


[bug] Debug stacks do not follow all DynamoDB table options

Consider the following code:
    const table = new Table(stack, 'Main', {
        fields: {
            PK: 'string',
            SK: 'string',
            GSI1SK: 'string',
            TTL: 'number',
        },
        primaryIndex: {partitionKey: 'PK', sortKey: 'SK'},
        globalIndexes: {
            GSI1: {partitionKey: 'SK', sortKey: 'GSI1SK'},
        },
        cdk: {
            table: {
                timeToLiveAttribute: 'TTL'
            }
        }
    });

When deploying, the sort key and GSI are added. When running a debug stack (sst start), they are not.

I would expect the debug stack to be the same as the normal stage - I'm writing Lambda functions that execute DynamoDB queries, and these queries fail due to the differences in the tables.
Minimal reproduction: https://github.com/ari-becker/ddb-bug
specifically: https://github.com/ari-becker/ddb-bug/blob/adfd7f41072dec83acf3f073d1787d5b2d17b5f4/stacks/MyStack.ts#L10
Versions:
SST: 1.3.0
CDK: 2.24.0

@thdxr explained on Discord that the additional table is used internally by SST to manage local connections during sst start, so I guess the underlying cause of the issue I'm having is elsewhere.
Closing as not a bug.


Feature/cors

Implements #160

Coverage increased (+0.04%) to 85.435% when pulling fc7c145f6e93da9503e70a372a2023fb99772fcb on feature/cors into 2a7d23c2cab232c81eceacc1b69656ed25fbb279 on master.


CCUBE-1542

Changes

Edit dropdownItems to be reusable component.
Add support for radio button field.
Add test cases for radio items.

Additional information

You may refer to this ticket

approving first and will create a separate PR to fix some issues


Update request: resticprofile 0.27.0 → 0.28.0

Package name: resticprofile
Latest released version: 0.28.0

Current version on the unstable channel: 0.27.0
Current version on the stable/release channel: N/A

[x] Checked the nixpkgs pull requests

There is an old one for updating to 0.27.1 https://github.com/NixOS/nixpkgs/pull/330444
Notify maintainers

@TomaSajt

Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.

I tried doing this myself but can't get it to build as the new version request Golang 1.23 and I couldn't work out how to get nix to build with that.


Can't install black==20.8b1 using pypiDataRev from 2021-03-06T08:13:08Z

Hi,
the following derivation can't be built:
let
  mach-nix = import (builtins.fetchGit {
    url = "https://github.com/DavHau/mach-nix/";
    ref = "refs/tags/3.1.1";
  }) {
    python = "python38";

    pypiDataRev =
      "499750266bb4b2840cbe856c2cc0e3297685e362"; # 2021-03-06T08:13:08Z
    pypiDataSha256 = "188g24k8pk4lgqybywimkvwjwh8014v6l2mrkvzv309882i9p5gc";
  };
in mach-nix.mkPython {
  requirements = ''
    black==20.8b1
  '';
}

Result is
$ nix --print-build-logs build
...
python3.8-black> Finished executing pipInstallPhase
python3.8-black> post-installation fixup
python3.8-black> shrinking RPATHs of ELF executables and libraries in /nix/store/jkrc58h8nkhxnaj7w267vqdwf4cl0izs-python3.8-black-20.8b1
python3.8-black> strip is /nix/store/p3kn26g5nhmx6spn37ar3mn0xjbzks3g-binutils-2.31.1/bin/strip
python3.8-black> stripping (with command strip and flags -S) in /nix/store/jkrc58h8nkhxnaj7w267vqdwf4cl0izs-python3.8-black-20.8b1/lib  /nix/store/jkrc58h8nkhxnaj7w267vqdwf4cl0izs-python3.8-black-20.8b1/bin
python3.8-black> patching script interpreter paths in /nix/store/jkrc58h8nkhxnaj7w267vqdwf4cl0izs-python3.8-black-20.8b1
python3.8-black> checking for references to /build/ in /nix/store/jkrc58h8nkhxnaj7w267vqdwf4cl0izs-python3.8-black-20.8b1...
python3.8-black> Rewriting #!/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6/bin/python3.8 to #!/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6
python3.8-black> wrapping `/nix/store/jkrc58h8nkhxnaj7w267vqdwf4cl0izs-python3.8-black-20.8b1/bin/black'...
python3.8-black> Rewriting #!/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6/bin/python3.8 to #!/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6
python3.8-black> wrapping `/nix/store/jkrc58h8nkhxnaj7w267vqdwf4cl0izs-python3.8-black-20.8b1/bin/blackd'...
python3.8-black> Rewriting #!/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6/bin/python3.8 to #!/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6
python3.8-black> wrapping `/nix/store/jkrc58h8nkhxnaj7w267vqdwf4cl0izs-python3.8-black-20.8b1/bin/black-primer'...
python3.8-black> Executing pythonRemoveTestsDir
python3.8-black> Finished executing pythonRemoveTestsDir
python3.8-black> pythonCatchConflictsPhase
python3.8-black> Found duplicated packages in closure for dependency 'setuptools-scm':
python3.8-black> setuptools-scm 4.1.2 (/nix/store/mzxxiwvr1a65h3q5i2b2khbn7kv60762-python3.8-setuptools_scm-4.1.2/lib/python3.8/site-packages)
python3.8-black> setuptools-scm 5.0.2 (/nix/store/ga9ya0mnkm0gxcjqzflpyi5z0ig6l737-python3.8-setuptools-scm-5.0.2/lib/python3.8/site-packages)
python3.8-black> Package duplicates found in closure, see above. Usually this happens if two packages depend on different version of the same dependency.
builder for '/nix/store/wc93r13n88v8mba04fvlkn73n587h8jm-python3.8-black-20.8b1.drv' failed with exit code 1; last 10 log lines:
  Rewriting #!/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6/bin/python3.8 to #!/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6
  wrapping `/nix/store/jkrc58h8nkhxnaj7w267vqdwf4cl0izs-python3.8-black-20.8b1/bin/black-primer'...
  Executing pythonRemoveTestsDir
  Finished executing pythonRemoveTestsDir
  pythonCatchConflictsPhase
  Found duplicated packages in closure for dependency 'setuptools-scm':
    setuptools-scm 4.1.2 (/nix/store/mzxxiwvr1a65h3q5i2b2khbn7kv60762-python3.8-setuptools_scm-4.1.2/lib/python3.8/site-packages)
    setuptools-scm 5.0.2 (/nix/store/ga9ya0mnkm0gxcjqzflpyi5z0ig6l737-python3.8-setuptools-scm-5.0.2/lib/python3.8/site-packages)

  Package duplicates found in closure, see above. Usually this happens if two packages depend on different version of the same dependency.
cannot build derivation '/nix/store/lxqidnch8fv31bz1bcz5128hsglvh7fv-python3-3.8.6-env.drv': 1 dependencies couldn't be built
error: --- Error ------------------------------------------------------------------------------------ nix
build of '/nix/store/lxqidnch8fv31bz1bcz5128hsglvh7fv-python3-3.8.6-env.drv' failed

I somehow feel this is not the 'fault' of mach-nix, though. Maybe this gets fixed by a newer pypi-deps-db version?

@rolfschr: I think that issue is fixed on master, ref. https://github.com/DavHau/mach-nix/issues/208.

https://github.com/psf/black/issues/1847


Using component as a message

Gives an ability to pass Svelte components as a msg.
Compatible with Svelte V3 I suppose.
Also, added --fix flag for eslint as code is not styled according to rules

[x] Detect component or string
[x] Properties to Component
[x] Documentation update
[x] Cypress tests

NB! If using with parcel-plugin-svelte import should be from src like
import { SvelteToast, toast } from "@zerodevx/svelte-toast/src";

As plugin is stupid enough to understand svelte directive in package.json and loads umd version, which is not getting compiled by parent svelte, thus throwing:
Error: 'target' is a required option svelte

Thanks so much for doing this PR 👍
So first things first, there's a new minor release that'll land imminently - there are code changes so if you could very kindly rebase your PR based on that... it'll be great! 🙏
Second, is this a common use-case? I was just wondering what components would be passed in as a message.
Your code looks good in general - I'll add initial comments/thoughts in a moment.

I can't seem to find a branch you mentioned, is it pushed yet?
Removing package-lock.json would make the package unstable, as dependencies will not be locked anymore, u sure bout that?
We are using toasts as notifications and various service messages, like cookie consent with the dismissable: false for instance. That's why I wanted to have Svelte components within toasts, as there might be buttons to click. Also, because of that I removed the pointer-events: none from SvelteToast.svelte as it restricts clicking anything but anchors inside the toast.
I have also added the toastId property passed to component, as in regards to actions inside, it is now possible to send events to global toast dispatcher, which will update the toast.
The simple example is (some pseudocode):
main.js

...
toast.push(DummyComponent, {}, { color: '0000FF' })
window.document.body.addEventListener("toast", ({id, color}) => {
  toast.set(id, {}, {color});
});

DummyComponent.svelte

<script>
export let toastId, color;

const setColor = (newColor) => {
  window.document.body.dispatchEvent(
    new CustomEvent("toast", {
      id: toastId,
      color: newColor
    })
}
</script>

<div style={color: color}">
  <button on:click={() => setColor("#CCC")}>grey</button>
  <button on:click={() => setColor("#FF0000")}>red</button>
</div>

I am not sure whether this all can be beneficial to original project, however it's cool that the initial source is minimal and simple, so I can leave it inside the fork if it does not play along well with ideas you have

f7c511f Also adds the namespaces, so you can have different toasts been displayed at once, but positioned differently
There's an example in docs for that.
We need to show different toasts in different positions, so multiple containers are used for that

I can't seem to find a branch you mentioned, is it pushed yet?

Sorry! Can you rebase on top of the latest v0.4.0 release?

Removing package-lock.json would make the package unstable, as dependencies will not be locked anymore, u sure bout that?

Don't make any changes to .gitignore. Instead, just remove the build files docs/build/*.* and package-lock.json from this PR. I'll make sure to generate a working package-lock.json on my end.

We are using toasts as notifications and various service messages, like cookie consent with the dismissable: false for instance. That's why I wanted to have Svelte components within toasts, as there might be buttons to click. Also, because of that I removed the pointer-events: none from SvelteToast.svelte as it restricts clicking anything but anchors inside the toast.

Can you selectively allow pointer-events only if component-messages is being pushed? Typically for normal messages we disallow pointer-events because it blocks main page scrolling and it's usually not needed.

f7c511f Also adds the namespaces, so you can have different toasts been displayed at once, but positioned differently
There's an example in docs for that.

Thanks! But coincidentally I've already added a similar feature in the latest release!

I am not sure whether this all can be beneficial to original project, however it's cool that the initial source is minimal and simple, so I can leave it inside the fork if it does not play along well with ideas you have

Yes, so one of the design objectives is to keep it simple, so I'm also a little wary about scope creep. However I do see the benefits of supporting component-messages. Let's see how this PR turns out.

Hey!
I've merged your branch and removed doubling code from my branch. Have also cleaned it up and left only few pieces:

Components as a prop
pointer events var for toastContainer

Have changed the syntax for container as long as you support Objects as the argument for toast.push, so it can be done now with:
toast.push({
  component: {
    src: DummyComponent,
    props: {
      foo: 'bar'
    }
  }
})

Hi! Thanks so much for rebasing. This looks clean and concise and good to merge. Thank you for your contribution! 🙏


Added test plan number

For robustness, it is safer to state test plan number.

@mcollina The upcoming PR mostly are enhancements/optimization, and some minor bug fixes except the attempt of fixing the maximum stack size exceeded.
We could do a release for let our users not to wait too long. :)


Add reset button to marker plugin

Currently markers accumulate until they are deleted explicitly or you get a properly formatted delete all marker action. It would be nice if there were a clear button on the marker plugin to explicitly clear all of the accumulated markers to get around marker publishers not properly cleaning up

Going to close this as the relevant MR was merged


[AFF] New Object NONT

NONT is the new transport object type for the SAP Object Node Type.

Test Repo https://github.com/abapGit-tests/NONT.git


test: Add post-processing tests

Runs a small selection of post-processing tests. Warnings are printed
if OpenCV, TFLite or the model used by TFLite are not found, but the
tests are not marked as failures.
Signed-off-by: David Plowman<EMAIL_ADDRESS>

@naushir All seems to be working as intended now, including the new tests.


Beam search decoder does not work in mixed precision/float16

Traceback (most recent call last):
File "/home/okuchaiev/repos/OpenSeq2Seq/run.py", line 226, in
main()
File "/home/okuchaiev/repos/OpenSeq2Seq/run.py", line 220, in main
hvd=hvd)
File "/home/okuchaiev/repos/OpenSeq2Seq/open_seq2seq/utils/model_builders.py", line 197, in create_encoder_decoder_loss_model
hvd=hvd,
File "/home/okuchaiev/repos/OpenSeq2Seq/open_seq2seq/models/seq2seq.py", line 49, in init
hvd=hvd)
File "/home/okuchaiev/repos/OpenSeq2Seq/open_seq2seq/models/model.py", line 177, in init
gpu_id=gpu_ind,
File "/home/okuchaiev/repos/OpenSeq2Seq/open_seq2seq/models/seq2seq.py", line 82, in _build_forward_pass_graph
decoder_output = self.decoder.decode(input_dict=decoder_input)
File "/home/okuchaiev/repos/OpenSeq2Seq/open_seq2seq/decoders/decoder.py", line 113, in decode
return self._decode(self._cast_types(input_dict))
File "/home/okuchaiev/repos/OpenSeq2Seq/open_seq2seq/decoders/rnn_decoders.py", line 449, in _decode
output_time_major=time_major,
File "/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/seq2seq/python/ops/decoder.py", line 201, in dynamic_decode
initial_finished, initial_inputs, initial_state = decoder.initialize()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/seq2seq/python/ops/beam_search_decoder.py", line 308, in initialize
dtype=nest.flatten(self._initial_cell_state)[0].dtype)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/array_ops.py", line 2446, in one_hot
"dtype parameter {1}".format(on_dtype, dtype))
TypeError: dtype <dtype: 'float32'> of on_value does not match dtype parameter <dtype: 'float16'>

fixed


Supporting multiple types

Supporting multiple types when Check function is ran with EditorContextScope.
Fix #1332

✅ No public API change.

✅ No public API change.