-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Mongo reactive client should use Netty transport #46248
Conversation
6451770
to
16f9ef8
Compare
@cescoffier I have no idea how SSL/TLS can interact with it |
16f9ef8
to
424e40f
Compare
This comment has been minimized.
This comment has been minimized.
424e40f
to
3b101c0
Compare
@cescoffier @geoand do we want a special config to enable this? |
Yes, please add a flag. I would consider being enabled by default (even if it could be seen as a breaking change). |
This comment has been minimized.
This comment has been minimized.
we want a runtime proper config option? |
Yes please |
46d4274
to
a628795
Compare
Ok I'm adding some test to the config and after speaking with @jponge I see that we always use the reactive driver so...I won't configure the Netty side with reactive only, but always |
I am putting it in draft, since I see that:
And I need to understand if I can safely make to always use Netty as a transport, even in the blocking case: I am not sure of it because will likely introduce an additional thread handoff from jboss worker pool to Netty |
I have no idea how the driver works internally |
🎊 PR Preview 22d8b35 has been successfully built and deployed to https://quarkus-pr-main-46248-preview.surge.sh/version/main/guides/
|
Just like @geoand (aka I'm posting this to let you know that I don't know) |
a628795
to
ee18cb3
Compare
Gotta add a test on the config @geoand but I have verified what it's written in the new config option - so I enabled Netty only in the reactive case. |
NETTY, | ||
/** | ||
* With a reactive driver it uses an async transport backed by a driver-managed thread pool, | ||
* while with a blocking driver it uses a blocking transport. |
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.
The non reactive one should just run inlined in the worker pool we provide - this by checking the mongo Java driver code + debugging it
This comment has been minimized.
This comment has been minimized.
On https://www.mongodb.com/docs/drivers/java/sync/current/fundamentals/connection/tls/#customize-tls-ssl-configuration-through-the-netty-sslcontext seems that there's some work left to configure TLS/SSL or maybe it's just to switch to an alternative SSL (native) engine here - still checking |
Status for workflow
|
Status for workflow
|
It seems no need to do anything beyond what we already do (which is to apply SSL settings at client config level) - see https://stackoverflow.com/questions/51053679/how-to-enable-ssl-in-reactive-mongodb-client-in-spring-boot |
Fixes #46206