Closed MYDIH closed 4 weeks ago
yes I see pretty much what the issue is and most likely we would need to use a different task queue for execute blocking
ordered false does not use this queue actually that is why it works correctly
this should fix the issue https://github.com/eclipse-vertx/vert.x/pull/5365
Version
4.5.10
Context
Hi !
I have some intances in a production product where calling a specific endpoint will block a LivenessProbe enpoint and in the end kill my kubernetes pod. I just thought of the virtual threads implementation as an event loop spawning new virtual threads on each request (since it's cheap), now I'm not really sure anymore ...
Slightly off topic and potentially wrong
Some following issue though is that we can't use Future.await() in an executeBlocking handler ... Since the handler **is** run in a virtual thread, I would expect Future.await() to run properly, providing async/await like semantics. Drilling down a bit I saw that the context in the executeBlocking handler is not reported as an eventLoop context nor a blocking context (I think that isVertxThread is just false)
Reproducer
Steps to reproduce
Extra
Looks like disabling order in the executeBlocking call resolve this, but I don't understand why it impacts non-blocking calls though ...
Thanks for your time !