-
Notifications
You must be signed in to change notification settings - Fork 7.3k
JGroups: Switch to "per-destination" bundler for all TCP based stacks #39545
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
Comments
Note: |
When doing a rolling restart of pods, there is a moment when the Pod keycloak-1 left the cluster, and the current Pod is still trying to probe for the old destination. Each of those probes will block the
|
Next steps:
|
I tested with
|
Description
The default bundler for the
kubernetes
stack as well all (?) other TCP based stacks istq-bundler
.A
per-destination
bundler would avoid blocking other nodes when one node becomes unreachable.Discussion
#39023 (comment)
Motivation
As seen in #39023 opening a TCP connection is a blocking activity. Similarly other operations on a TCP socket are blocking when the queue is full.
To avoid disruptions, use a bundler that creates one thread per destination. As the number of Keycloak nodes is usually well below 20, this shouldn't become a problem. Especially that we now also support virtual threads.
Details
No response
The text was updated successfully, but these errors were encountered: