Skip to content
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

Introduce support for canceling async types in Quarkus Rest #41710

Merged
merged 3 commits into from
Jul 6, 2024

Conversation

geoand
Copy link
Contributor

@geoand geoand commented Jul 5, 2024

When the underlying connection is closed, we can now cancel the underlying pipeline when an async type is supported.

Question: Should this be configurable? I am wondering because it is not unimaginable that some people might relying on the pipeline being completed in some fire and forget scenario.
Based on the scenario I explained above, I consider this a breaking change (albeit unlikely to break many people...)

@calebkiage
Copy link

Thanks for putting this together so fast :-) How do I test? Is there a maven repo I can use once the CI is done?

Also, to answer your question, I thought this could be a configurable option.
If the option's default is the old behavior, it won't be a breaking change either.

@geoand
Copy link
Contributor Author

geoand commented Jul 5, 2024

If the option's default is the old behavior, it won't be a breaking change either.

Very true. If we decide to add one that preserves the old behavior, I'll remove the label.

How do I test?

You need to checkout https://github.com/geoand/quarkus and use the rest-cancelable branch.
Once that is done, you can build the project like so (other options are possible, but this is what I use):

mvn -T 1C -DskipDocs -DskipTests -DskipITs -Dinvoker.skip -DskipExtensionValidation -Dskip.gradle.tests -Dskip.gradle.build -Dtruststore.skip clean install -Prelocations

Then update your project to use version 999-SNAPSHOT while also making sure to use io.quarkus instead of io.quarkus.platform for the Quarkus BOM.

@geoand geoand changed the title Introduce support for canceling async types in Quarkus TEST Introduce support for canceling async types in Quarkus Rest Jul 5, 2024
@geoand
Copy link
Contributor Author

geoand commented Jul 5, 2024

@cescoffier @gsmet what do you think of the breaking aspect of this?

Perhaps we don't have to worry about it as it's clearly a very small niche?

@quarkus-bot
Copy link

quarkus-bot bot commented Jul 5, 2024

Status for workflow Quarkus CI

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

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

@cescoffier
Copy link
Member

I would. It worry too much. The new behavior is the correct one.

@geoand geoand merged commit 75cbfe5 into quarkusio:main Jul 6, 2024
46 checks passed
@quarkus-bot quarkus-bot bot added the kind/enhancement New feature or request label Jul 6, 2024
@quarkus-bot quarkus-bot bot added this to the 3.13 - main milestone Jul 6, 2024
@geoand geoand deleted the rest-cancelable branch July 8, 2024 06:05
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.

Support cancelling Kotlin coroutine handlers on connection closing
3 participants