quarkus
quarkus copied to clipboard
Propagate Vert.x context on all ExecutorService methods for VirtualThreadExecutor
Previous propagation only decorated execute method.
- Fixes #38815
:waning_crescent_moon: This workflow status is outdated as a new workflow run has been triggered.
Status for workflow Quarkus CI
This is the status report for running Quarkus CI
on commit a2b3309944de4093a596c643bec5ea7ef0e423c2.
Failing Jobs
Status | Name | Step | Failures | Logs | Raw logs | Build scan |
---|---|---|---|---|---|---|
✖ | Initial JDK 17 Build | Build |
Failures | Logs | Raw logs | :mag: |
You can consult the Develocity build scans.
Failures
:gear: Initial JDK 17 Build #
- Failing: integration-tests/virtual-threads/resteasy-reactive-virtual-threads
:package: integration-tests/virtual-threads/resteasy-reactive-virtual-threads
✖ Failed to execute goal net.revelc.code:impsort-maven-plugin:1.9.0:check (check-imports) on project quarkus-integration-test-virtual-threads-reseteasy-reactive: Imports are not sorted in /home/runner/work/quarkus/quarkus/integration-tests/virtual-threads/resteasy-reactive-virtual-threads/src/main/java/io/quarkus/virtual/rr/FilteredResource.java
@vsevel Would you mind giving this branch/PR a spin with your use case?
Fixed the import sort
@vsevel Would you mind giving this branch/PR a spin with your use case?
sure. it may take a little while though.
I can confirm this works. I can now do:
@GET
@Produces(MediaType.TEXT_PLAIN)
@RunOnVirtualThread
@Path("/vt")
@RolesAllowed("myrole")
public String getId() throws InterruptedException, ExecutionException {
String name = securityIdentity.getPrincipal().getName();
log.info("name = " + name);
String name2 = vThreads.submit(() -> myComponent.getId()).get();
log.info("name2 = " + name2);
return "CALLER:" + name + " / CALLED:" + name2;
}
...
@ApplicationScoped
public class MyComponent {
private static final Logger log = Logger.getLogger(MyComponent.class);
@Inject
SecurityIdentity securityIdentity;
public String getId() {
String name = securityIdentity.getPrincipal().getName();
log.info("name inside CALLED = " + name);
return name;
}
}
getting the principal name as expected. no need to activate a request context. I am impressed @ozangunalp
:waning_crescent_moon: This workflow status is outdated as a new workflow run has been triggered.
Status for workflow Quarkus CI
This is the status report for running Quarkus CI
on commit 5f6457e3693db0e1eca0430e0000336e3fb17ca6.
Failing Jobs
Status | Name | Step | Failures | Logs | Raw logs | Build scan |
---|---|---|---|---|---|---|
:heavy_check_mark: | JVM Tests - JDK 17 | Logs | Raw logs | :construction: | ||
✖ | JVM Tests - JDK 17 Windows | Build |
Failures | Logs | Raw logs | :construction: |
:heavy_check_mark: | JVM Tests - JDK 21 | Logs | Raw logs | :construction: |
Full information is available in the Build summary check run.
Failures
:gear: JVM Tests - JDK 17 Windows #
- Failing: extensions/smallrye-reactive-messaging-amqp/deployment
! Skipped: integration-tests/reactive-messaging-amqp integration-tests/virtual-threads/amqp-virtual-threads
:package: extensions/smallrye-reactive-messaging-amqp/deployment
✖ io.quarkus.smallrye.reactivemessaging.amqp.AnonymousAmqpTest.test
line 30
- History - More details - Source on GitHub
org.awaitility.core.ConditionTimeoutException: Condition with io.quarkus.smallrye.reactivemessaging.amqp.AnonymousAmqpTest was not fulfilled within 1 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:985)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:954)
at io.quarkus.smallrye.reactivemessaging.amqp.AnonymousAmqpTest.test(AnonymousAmqpTest.java:30)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
✖ io.quarkus.smallrye.reactivemessaging.amqp.SecuredAmqpTest.test
line 28
- History - More details - Source on GitHub
org.awaitility.core.ConditionTimeoutException: Condition with io.quarkus.smallrye.reactivemessaging.amqp.SecuredAmqpTest was not fulfilled within 10 seconds.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:985)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:954)
at io.quarkus.smallrye.reactivemessaging.amqp.SecuredAmqpTest.test(SecuredAmqpTest.java:28)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
✖ io.quarkus.smallrye.reactivemessaging.amqp.devmode.AmqpDevModeTest.testCodeUpdate
line 44
- History - More details - Source on GitHub
org.awaitility.core.ConditionTimeoutException: Condition with io.quarkus.smallrye.reactivemessaging.amqp.devmode.AmqpDevModeTest was not fulfilled within 1 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:985)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:954)
at io.quarkus.smallrye.reactivemessaging.amqp.devmode.AmqpDevModeTest.testCodeUpdate(AmqpDevModeTest.java:44)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
✖ io.quarkus.smallrye.reactivemessaging.amqp.devmode.nohttp.AmqpDevModeNoHttpTest.testConsumerUpdate
line 77
- History - More details - Source on GitHub
org.awaitility.core.ConditionTimeoutException:
Assertion condition defined as a io.quarkus.smallrye.reactivemessaging.amqp.devmode.nohttp.AmqpDevModeNoHttpTest
Expecting size of:
[]
to be greater than or equal to 5 but was 0 within 1 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
✖ io.quarkus.smallrye.reactivemessaging.amqp.devmode.nohttp.AmqpDevModeNoHttpTest.testProducerUpdate
line 48
- History - More details - Source on GitHub
org.awaitility.core.ConditionTimeoutException:
Assertion condition defined as a io.quarkus.smallrye.reactivemessaging.amqp.devmode.nohttp.AmqpDevModeNoHttpTest
Expecting size of:
[]
to be greater than or equal to 5 but was 0 within 1 minutes.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
Flaky tests - Develocity
:gear: JVM Tests - JDK 21
:package: extensions/smallrye-reactive-messaging-kafka/deployment
✖ io.quarkus.smallrye.reactivemessaging.kafka.deployment.dev.KafkaDevServicesDevModeTestCase.sseStream
- History
-
Assertion condition Expecting size of: [] to be greater than or equal to 2 but was 0 within 10 seconds.
-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException:
Assertion condition
Expecting size of:
[]
to be greater than or equal to 2 but was 0 within 10 seconds.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
@vsevel thank you for testing it out. It was supposed to work this way from the beginning.
@ozangunalp I would propose to backport it, as for me it was a bug. WDYT?
Yes, I think I need to revert the pattern variable change for the backporting.
Status for workflow Quarkus CI
This is the status report for running Quarkus CI
on commit 1ea93ccfd20089fc9e5781749fe9fb9184cfa984.
:white_check_mark: The latest workflow run for the pull request has completed successfully.
It should be safe to merge provided you have a look at the other checks in the summary.
Flaky tests - Develocity
:gear: JVM Tests - JDK 21
:package: extensions/smallrye-reactive-messaging-kafka/deployment
✖ io.quarkus.smallrye.reactivemessaging.kafka.deployment.dev.KafkaDevServicesDevModeTestCase.sseStream
- History
-
Assertion condition Expecting size of: [] to be greater than or equal to 2 but was 0 within 10 seconds.
-org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException:
Assertion condition
Expecting size of:
[]
to be greater than or equal to 2 but was 0 within 10 seconds.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
:package: integration-tests/opentelemetry
✖ io.quarkus.it.opentelemetry.EndUserEnabledTest.baseTest
- History
-
AttributesMap{data={code.namespace=io.quarkus.it.opentelemetry.util.EndUserResource, http.route=/otel/enduser, http.status_code=200, net.protocol.name=http, net.host.port=8081, http.method=GET, http.scheme=http, http.response_content_length=0, net.host.name=localhost, user_agent.original=Apache-HttpClient/4.5.14 (Java/21.0.2), code.function=dummy, http.target=/otel/enduser, http.client_ip=127.0.0.1}, capacity=128, totalAddedValues=13} ==> expected: <testUser> but was: <null>
-org.opentest4j.AssertionFailedError
org.opentest4j.AssertionFailedError: AttributesMap{data={code.namespace=io.quarkus.it.opentelemetry.util.EndUserResource, http.route=/otel/enduser, http.status_code=200, net.protocol.name=http, net.host.port=8081, http.method=GET, http.scheme=http, http.response_content_length=0, net.host.name=localhost, user_agent.original=Apache-HttpClient/4.5.14 (Java/21.0.2), code.function=dummy, http.target=/otel/enduser, http.client_ip=127.0.0.1}, capacity=128, totalAddedValues=13} ==> expected: <testUser> but was: <null>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182)
at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1156)
at io.quarkus.it.opentelemetry.EndUserEnabledTest.evaluateAttributes(...