New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SmallRye Context Propagation 1.0.16 #11410
Conversation
Fixes #11378 as well. |
@manovotn turns out the CI for quarkus-arc-deployment fails with: java.lang.NoSuchMethodError: io.quarkus.arc.test.unproxyable.SynthProxiableBeanWithoutNoArgConstructorTest$SynthBean.<init>(Ljava/lang/String;)V
at io.quarkus.arc.test.unproxyable.SynthProxiableBeanWithoutNoArgConstructorTest_SynthBean_d2489e99512ed6afb3250b515819124dd8be8184_Synthetic_Bean.create(SynthProxiableBeanWithoutNoArgConstructorTest_SynthBean_d2489e99512ed6afb3250b515819124dd8be8184_Synthetic_Bean.zig:139)
at io.quarkus.arc.test.unproxyable.SynthProxiableBeanWithoutNoArgConstructorTest_SynthBean_d2489e99512ed6afb3250b515819124dd8be8184_Synthetic_Bean.create(SynthProxiableBeanWithoutNoArgConstructorTest_SynthBean_d2489e99512ed6afb3250b515819124dd8be8184_Synthetic_Bean.zig:154)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
at io.quarkus.arc.impl.AbstractSharedContext.access$000(AbstractSharedContext.java:14)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
at io.quarkus.arc.test.unproxyable.SynthProxiableBeanWithoutNoArgConstructorTest_SynthBean_d2489e99512ed6afb3250b515819124dd8be8184_Synthetic_ClientProxy.arc$delegate(SynthProxiableBeanWithoutNoArgConstructorTest_SynthBean_d2489e99512ed6afb3250b515819124dd8be8184_Synthetic_ClientProxy.zig:110)
at io.quarkus.arc.test.unproxyable.SynthProxiableBeanWithoutNoArgConstructorTest_SynthBean_d2489e99512ed6afb3250b515819124dd8be8184_Synthetic_ClientProxy.getString(SynthProxiableBeanWithoutNoArgConstructorTest_SynthBean_d2489e99512ed6afb3250b515819124dd8be8184_Synthetic_ClientProxy.zig:229)
at io.quarkus.arc.test.unproxyable.SynthProxiableBeanWithoutNoArgConstructorTest.testSyntheticBean(SynthProxiableBeanWithoutNoArgConstructorTest.java:70) |
It also fails on my machine locally. |
@FroMage my bad, didn't push my local changes - the test bean class needs to be static. |
...test/java/io/quarkus/arc/test/unproxyable/SynthProxiableBeanWithoutNoArgConstructorTest.java
Outdated
Show resolved
Hide resolved
Haha, great, thanks, no worries :) |
There seems to be some more test fails, but those shouldn't be because of my change. It is linkage error from JDK 9 wrapper for completable future... |
DAMNIT |
@dmlloyd or @stuartwdouglas do you happen to know if there's anything obvious I should be looking at for errors like these? This is due to a newly MultiRelease jar with JDK9-specific classes. |
@stuartwdouglas is it possible that |
I will look into it. |
I have pushed a fix to this PR, lets see what CI says. |
Thanks. Now failures in devtools :( |
This works on my machine so let's restart CI. |
b54f0e7
to
b4585e5
Compare
I pushed a fix, there were some legitimate failures |
Now it's the MP-CP TCK failing, which is a problem because we've added new methods in SR-CP that will end up in the spec, but we can't release the spec ATM, so we can't release a new version of the TCK which fixes those tests. |
So one of the TCK failure is a real issue and I'll wait for smallrye/smallrye-context-propagation#195 to be merged so I can pull the new release. The other two I should ignore until we can release a new TCK. @kenfinnigan do you happen to know how I can ignore specific test methods from the TCK? I tried the obvious surefire config, but got:
|
@FroMage this is done like that in other MP TCKs: https://github.com/quarkusio/quarkus/blob/master/tcks/microprofile-rest-client/pom.xml#L34 |
This excludes an entire file, I can't do that I only need to exclude two tests in that class. |
The |
If I remember correctly, it is quite related :-) I have a preliminary PR to SmallRye Fault Tolerance that makes everything run on a single thread pool provided by an integrator, but I've uncovered some issues with how liberally we submit tasks to thread pools and wait for their completion. I'm working on a fix for that. |
OK, so I have reimplemented and optimized bulkheads in SmallRye Fault Tolerance (optimized as in: bulkheads no longer submit any tasks to an executor). It's all built on top of the changes I did to implement MicroProfile Fault Tolerance 3.0, so wouldn't be exactly easy to backport to current |
I'll make a new SR-CP release and rebase this branch ASAP. |
Upgraded to latest SR-CP version, rebased on master, fixed conflicts. I have to write some docs about the new features. |
Failed with:
So I must have forgotten something. |
As per our Zulip conversation, the annotation is not indexed. This is likely due to missing |
Can now inject SmallRye variants which have more features
…proxyable/SynthProxiableBeanWithoutNoArgConstructorTest.java Co-authored-by: Matej Novotny <matej.novotny2@gmail.com>
Should be fixed by a new release. Rebased again. |
Apparently the FT TCK got killed. Not sure if it hanged or CI just ran out of patience. |
@FroMage it usually only takes ~40 minutes so there's something fishy if it got cancelled after 2 hours. Looks like the same issue we had previously. |
@FroMage That would be best, yea. I'm not sure when MP FT 3.0 is released, and I have all the changes on my |
I'm going to make a new SR-CP release with support for Java 12 anyway, but are we talking days or months? |
I asked @radcortez and it seems it's not "days". I'll grab a bottle and do some backporting -- sorry for stalling this so long. |
I've added a workaround as discussed on Zulip, and released SRye FT 4.3.2: https://repo.maven.apache.org/maven2/io/smallrye/smallrye-fault-tolerance/4.3.2/ You can bump in this PR, or I can submit a separate PR, but I guess doing it here would be faster. There's no other change required, just bumping the version number in the BOM. |
Actually I couldn't even bump SRye FT to 4.3.2 in isolation, because it uses the new method from SRye ConProp. So it needs to be udpated in this PR anyway :-) |
OK thanks a lot. Bumped it, let's see what CI says. |
CI failed with IO issue in docker pull. Restarting. |
TCK CI passed, so that's good news. |
WOOHOO! |
No description provided.