Skip to content

Conversation

@gsmet
Copy link
Member

@gsmet gsmet commented Apr 18, 2025

If you want to use Stork, you now have to add the quarkus-smallrye-stork extension, which IMHO makes perfect sense.

This avoids initializing Stork for every application using the REST Client.

I tested several ITs both in JVM and native and it looked fine. Let's hope CI will agree.

Fixes #47337

@quarkus-bot

This comment has been minimized.

@github-actions
Copy link

github-actions bot commented Apr 18, 2025

🙈 The PR is closed and the preview is expired.

@quarkus-bot

This comment has been minimized.

@gsmet gsmet force-pushed the rest-client-stork-optional branch from 8a765b7 to 7b7789a Compare April 18, 2025 12:46
@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

Copy link
Member

@rsvoboda rsvoboda left a comment

Choose a reason for hiding this comment

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

This is great, 👍 for the work.

https://quarkus.io/guides/rest-client doesn't mention Stork at all, so no need to update that one.

I think https://quarkus.io/guides/stork#bootstrapping-the-project and https://quarkus.io/guides/stork-kubernetes#bootstrapping-the-project will need to be updated to include quarkus-smallrye-stork.
https://quarkus.io/guides/stork-reference probably doesn't need any change.

Copy link
Member

@aureamunoz aureamunoz left a comment

Choose a reason for hiding this comment

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

LGTM. But why are the tests on windows failing? Could you please check?

@gsmet
Copy link
Member Author

gsmet commented Apr 21, 2025

@rsvoboda let me check the doc. I had a quick look but apparently not a close enough look.

gsmet added 2 commits April 21, 2025 20:02
If you want to use Stork, you now have to add the quarkus-smallrye-stork
extension, which IMHO makes perfect sense.

This avoids initializing Stork for every application using the REST
Client.

Fixes quarkusio#47337
@gsmet gsmet force-pushed the rest-client-stork-optional branch from 7b7789a to 70ac695 Compare April 21, 2025 18:03
@gsmet
Copy link
Member Author

gsmet commented Apr 21, 2025

@rsvoboda I adjusted the doc
@aureamunoz these are just flakes

I will also adjust the quickstarts if this gets accepted.

@quarkus-bot
Copy link

quarkus-bot bot commented Apr 21, 2025

Status for workflow Quarkus Documentation CI

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

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

@quarkus-bot
Copy link

quarkus-bot bot commented Apr 21, 2025

Status for workflow Quarkus CI

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

✅ 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

📦 extensions/micrometer-opentelemetry/deployment

io.quarkus.micrometer.opentelemetry.deployment.compatibility.MicrometerTimedInterceptorTest.testTimeMethod_AsyncFailed - 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_AsyncFailed(MicrometerTimedInterceptorTest.java:150)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)

⚙️ JVM Tests - JDK 17 Windows

📦 extensions/smallrye-reactive-messaging-amqp/deployment

io.quarkus.smallrye.reactivemessaging.amqp.AnonymousAmqpTest.test - History

  • Condition with Lambda expression in io.quarkus.smallrye.reactivemessaging.amqp.AnonymousAmqpTest was not fulfilled within 1 minutes. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in 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:1160)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
	at io.quarkus.smallrye.reactivemessaging.amqp.AnonymousAmqpTest.test(AnonymousAmqpTest.java:30)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)

Copy link
Contributor

@geoand geoand left a comment

Choose a reason for hiding this comment

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

Makes sense

Copy link
Member

@cescoffier cescoffier left a comment

Choose a reason for hiding this comment

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

The code looks good, but we need to make sure the documentation is correct, including the Stork documentation (@aureamunoz, once this is in, we need to change the Quarkus doc on the Stork side).

Note that we are discussing using Stork to handle "addresses" in #46915 - which would make Stork mandatory everywhere.

@gsmet
Copy link
Member Author

gsmet commented Apr 22, 2025

@cescoffier I'm a bit unsure it's a good idea to use Stork (and always have Stork initialized) for such a low level feature. It will have an overhead that doesn't seem very necessary.

@gsmet gsmet merged commit 4e95c7e into quarkusio:main Apr 22, 2025
60 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.23 - main milestone Apr 22, 2025
@rsvoboda
Copy link
Member

@gsmet make this one noteworthy?

@rsvoboda
Copy link
Member

ok, it has breaking change label, so it will be in release announce

@gsmet
Copy link
Member Author

gsmet commented Apr 22, 2025

No changes were necessary in the quickstarts as the Stork modules already depend on quarkus-smallrye-stork.

@gsmet gsmet modified the milestones: 3.23 - main, 3.22.0 Apr 22, 2025
@rsvoboda
Copy link
Member

No changes were necessary in the quickstarts as the Stork modules already depend on quarkus-smallrye-stork.

+1, and Quickstarts Compilation step would detect that

@gsmet
Copy link
Member Author

gsmet commented Apr 22, 2025

Actually, it might not if Stork is used transparently. The Quickstarts step is just a compilation step, it doesn't run the tests.

@rsvoboda
Copy link
Member

Actually, it might not if Stork is used transparently.

You are right

The Quickstarts step is just a compilation step, it doesn't run the tests.

We can expand to run the tests :) Maybe another ci-* label?

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.

Stork related classes initialized in Quarkus 3.20 with rest client

5 participants