Fix flaky cluster test_recycled by using pool object ID#466
Merged
bikeshedder merged 2 commits intodeadpool-rs:mainfrom Feb 19, 2026
Merged
Fix flaky cluster test_recycled by using pool object ID#466bikeshedder merged 2 commits intodeadpool-rs:mainfrom
test_recycled by using pool object ID#466bikeshedder merged 2 commits intodeadpool-rs:mainfrom
Conversation
`CLIENT SETNAME`/`GETNAME` are per-TCP-connection commands. In a cluster, `ClusterConnection` manages multiple internal TCP connections (one per node). redis-rs routes `CLIENT SETNAME` to all nodes but `CLIENT GETNAME` to a random single node, so `GETNAME` can return `None` if it hits a different node than expected. Instead, use deadpool's `Object::id()` to verify recycling at the pool level. This is deterministic and doesn't depend on Redis cluster command routing. Also expose `id()` and `metrics()` on the cluster `Connection` wrapper. Fixes #465 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Contributor
Author
|
Right when we talked about AI, sorry for not double checking clippy 🤦 |
Collaborator
|
Awesome. Thanks a lot! ❤️ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CLIENT SETNAME/GETNAMEare per-TCP-connection commands. In a cluster,ClusterConnectionmanages multiple internal TCP connections (one per node). redis-rs routesCLIENT SETNAMEto all nodes butCLIENT GETNAMEto a random single node, soGETNAMEcan returnNoneif it hits a different node than expected.Instead, use deadpool's
Object::id()to verify recycling at the pool level. This is deterministic and doesn't depend on Redis cluster command routing.Also expose
id()andmetrics()on the clusterConnectionwrapper.Fixes #465