Skip to content

Conversation

pcasaes
Copy link
Contributor

@pcasaes pcasaes commented Aug 2, 2025

This PR makes changes to the messaging subscriber's Kotlin VertxDispatcher so that the active request is preserved between any possible suspend/resume that could happen in the user's code.

Tests were added, some of which would fail without these changes

@pcasaes
Copy link
Contributor Author

pcasaes commented Aug 6, 2025

fyi @geoand

@geoand
Copy link
Contributor

geoand commented Aug 6, 2025

Thanks!

I'm on PTO so won't be able to have a look at this for the coming few weeks

Copy link

quarkus-bot bot commented Aug 6, 2025

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit bd33558.

✅ 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.

Warning

There are other workflow runs running, you probably need to wait for their status before merging.

Copy link

quarkus-bot bot commented Aug 6, 2025

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit bd33558.

✅ 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.

You can consult the Develocity build scans.


Flaky tests - Develocity

⚙️ JVM Tests - JDK 17 Windows

📦 extensions/micrometer-opentelemetry/deployment

io.quarkus.micrometer.opentelemetry.deployment.compatibility.MicrometerTimedInterceptorTest.testTimeMethod_Uni - History

  • Stream has no elements - java.lang.IllegalArgumentException
java.lang.IllegalArgumentException: Stream has no elements
	at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lambda$lastReading$2(MetricDataFilter.java:213)
	at java.base/java.util.Optional.orElseThrow(Optional.java:403)
	at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lastReading(MetricDataFilter.java:213)
	at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lastReadingDataPoint(MetricDataFilter.java:231)
	at io.quarkus.micrometer.opentelemetry.deployment.compatibility.MicrometerTimedInterceptorTest.testTimeMethod_Uni(MicrometerTimedInterceptorTest.java:174)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:534)

⚙️ JVM Integration Tests - JDK 17

📦 integration-tests/opentelemetry

io.quarkus.it.opentelemetry.MetricsTest.testAllJvmMetrics - History

  • Metric should be greater than 0: jvm.memory.used value: 0.0 - java.lang.AssertionError
java.lang.AssertionError: Metric should be greater than 0: jvm.memory.used value: 0.0
	at io.quarkus.it.opentelemetry.MetricsTest.lambda$testAllJvmMetrics$6(MetricsTest.java:135)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at io.quarkus.it.opentelemetry.MetricsTest.testAllJvmMetrics(MetricsTest.java:108)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at io.quarkus.test.junit.QuarkusTestExtension.runExtensionMethod(QuarkusTestExtension.java:1000)
	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestMethod(QuarkusTestExtension.java:848)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

⚙️ JVM Integration Tests - JDK 21

📦 integration-tests/opentelemetry-grpc-only

io.quarkus.it.opentelemetry.grpc.HelloGrpcClientTest.testHello - History

  • java.lang.RuntimeException: Failed to start quarkus - java.lang.RuntimeException
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:668)
	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:763)
	at java.base/java.util.Optional.orElseGet(Optional.java:364)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)

Copy link

github-actions bot commented Aug 6, 2025

🎊 PR Preview fc7d4cb has been successfully built and deployed to https://quarkus-pr-main-49308-preview.surge.sh/version/main/guides/

  • Images of blog posts older than 3 months are not available.
  • Newsletters older than 3 months are not available.

@pcasaes
Copy link
Contributor Author

pcasaes commented Aug 7, 2025

Ha, I'm on PTO too, couple of weeks is fine. No rush.

@pcasaes
Copy link
Contributor Author

pcasaes commented Aug 19, 2025

Back from PTO.

Copy link
Contributor

@ozangunalp ozangunalp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the great tests

@ozangunalp ozangunalp merged commit b83193f into quarkusio:main Aug 21, 2025
42 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.28 - main milestone Aug 21, 2025
@pcasaes
Copy link
Contributor Author

pcasaes commented Aug 21, 2025

Thanks @ozangunalp !

@LarsSven this get's us half way there to getting context propagation working with quarkus-messaging.

@LarsSven
Copy link
Contributor

Thanks so much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Kotlin Coroutines Fail to preserve active request between a suspension and resume
4 participants