-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Add support for virtual threads in smallrye-reactive-messaging #34557
Add support for virtual threads in smallrye-reactive-messaging #34557
Conversation
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Show resolved
Hide resolved
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Outdated
Show resolved
Hide resolved
core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Outdated
Show resolved
Hide resolved
Upstream changes in discussion related to this one : smallrye/smallrye-reactive-messaging#2219 |
3a53c7c
to
99d9827
Compare
@anavarr we've released changes to Reactive Messaging in 4.8.0 to control the concurrency better. I'll bump the RM dependency in a separate PR and push updates to this one. |
@ozangunalp I let you drive this one home. |
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Outdated
Show resolved
Hide resolved
…hreads. Replacing the queue implementation with a lock-free variant resolves the issue
99d9827
to
de2052d
Compare
@anavarr as we discussed I pushed changes to this after #34716. |
...ava/io/quarkus/smallrye/reactivemessaging/deployment/SmallRyeReactiveMessagingProcessor.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/io/quarkus/smallrye/reactivemessaging/runtime/QuarkusWorkerPoolRegistry.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM after @cescoffier @franz1981 suggestions
de2052d
to
1b7d001
Compare
🙈 The PR is closed and the preview is expired. |
merged work from @ozangunalp and @cescoffier to add support for virtual threads in smallrye-reactive-messaging.
When using devmode, using
LinkedBlockingDeque
for the Aesh console caused deadlocks when using System.out in handlers annotated with@RunOnVirtualThread
. TheLinkedBlockingDeque
was replaced with aConcurrentLinkedQueue
and the deadlock disappeared.The ReentrantLock used in
LinkedBlockingDeque
seems to be responsible for the deadlock