-
Notifications
You must be signed in to change notification settings - Fork 986
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
Lingering topology refresh connections when using dynamic refresh sources #1342
Comments
Which Lettuce version are you using? |
5.0.4.RELEASE |
Please upgrade to a newer one as we had issues with lingering connections during topology refresh. |
@mp911de Can you please suggest the versions where lingering connections was resolved. |
The issue was #721 which was actually shipped with 5.0.3.RELEASE. In that case, it seems there could be another leak. |
Looking at |
I can confirm that I can reproduce the issue. The issue is related to dynamic refresh sources. It happens when a previous seed node connection is attempted again because it was wrongly identified as new node. Connections are stored in a map and the existing connection gets overwritten by a new connection hence the old connection isn't closed. |
We now ensure that we don't create duplicate connections during topology refresh. Previously, the set difference algorithm reported differences for items that weren't different and so the dynamic refresh sources setting caused duplicate connections to nodes that were already connected. Since connections are held in a map, the new connection object overwrote the previous one which was left open.
We now ensure that we don't create duplicate connections during topology refresh. Previously, the set difference algorithm reported differences for items that weren't different and so the dynamic refresh sources setting caused duplicate connections to nodes that were already connected. Since connections are held in a map, the new connection object overwrote the previous one which was left open.
That's fixed now. |
When will 5.3.3 be released? |
I pulled the code you pushed yesterday, but the problem of increasing the number of connections has not been resolved. |
|
Can you check the connected clients via |
I enter the client list and get the name= is empty, but ip is the address of my server |
Connections without a name are regular connections and not topology refresh connections. Please assign client names in your application to trace where they come from. If you feel there's an issue with the driver and you can make sure the issue isn't caused by your application then please file a new issue. |
hi,i upgrade my lettuce client version to 6.0.0RC,it really works and no more duplicate topology refresh connections exists over one day ; |
Thanks for verifying the fix. The issue was caused by how the discovered set of Redis nodes vs. the seed nodes was compared. The seed node appeared also in the set of discovered nodes which caused yet another connection to be opened. Since all connections are held in a |
Bug Report
Current Behavior
our redis cluster maintain more than one Redis Cluster topology refresh connection,and it will increase with time,finally one node connection is over 10000 with our apps;
something different from wiki descriped as this:
Apart of connection objects, RedisClusterClient uses additional connections for topology refresh. These are created on topology refresh and closed after obtaining the topology:
Set of connections for cluster topology refresh (a connection to each cluster node)
configuration
Environment
The text was updated successfully, but these errors were encountered: