fix(sentinel): preserve root seeds for outage recovery#3188
Open
nkaradzhov wants to merge 1 commit intoredis:masterfrom
Open
fix(sentinel): preserve root seeds for outage recovery#3188nkaradzhov wants to merge 1 commit intoredis:masterfrom
nkaradzhov wants to merge 1 commit intoredis:masterfrom
Conversation
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.
fixes #3127
Description
Checklist
npm testpass with this change (including linting)?Note
Medium Risk
Changes sentinel failover/rediscovery behavior during disconnects by repopulating
#sentinelRootNodesfrom stored seed nodes, which could affect reconnection loops and topology updates under real outages. Added coverage reduces risk but behavior is timing-sensitive and exercised during network partitions.Overview
Improves Sentinel outage recovery by persisting the initially configured sentinel endpoints (
#sentinelSeedNodes) and restoring#sentinelRootNodesfrom those seeds whenever failures remove all known roots (also enforced at the start ofobserve()).Makes sentinel list change detection compare the actual node sets (via a stable host/port key) instead of just list length, and adds an integration test that simulates a full Redis+Sentinel outage and asserts periodic commands recover after restart.
Written by Cursor Bugbot for commit d8421b0. This will update automatically on new commits. Configure here.