use mapped address when sentinel failover moved pubsub connections - #3190
Merged
Merged
Conversation
|
Hi, I’m Jit, a friendly security platform designed to help developers build secure applications from day zero with an MVS (Minimal viable security) mindset. In case there are security findings, they will be communicated to you as a comment inside the PR. Hope you’ll enjoy using Jit. Questions? Comments? Want to learn more? Get in touch with us. |
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
Collaborator
|
@elimelt thanks for the PR, i will try to take a look soon, but im guessing - next week |
|
confirmed that this is an issue |
Contributor
Author
|
@nkaradzhov any chance you could take a look? |
Stubs PubSubProxy.changeNode and drives transform() with a synthetic analyzed object to assert the mapped address is used on failover. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Surfaced by lint:changed against the PR base. Touches only lint-clean patches: const over let, unknown over any in transform()'s promise list, narrowed catch binding, removed write-only #configEpoch, eslint-disable on the dynamic Multi-prototype access, _-prefix on unused param. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
nkaradzhov
approved these changes
May 11, 2026
Collaborator
|
Hi all, apologies for the delay! |
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.
Description
Closes #3192
Fix small bug in sentinel's new
nodeAddressMapoption - namely - when sentinel failovers cause pub-sub connections to migrate to a new master, the address mapping should be applied.This is 100% fixed by the patch (I patched with pnpm and got my client working), but I found it kind of difficult to write a good test that doesn't completely duplicate an existing test (e.g.
pubsub - channel - with master change)I'm also debating whether we want
getMasterNodeand similar to return the mapped address or notChecklist
npm testpass with this change (including linting)?Note
Medium Risk
Touches Sentinel topology reconfiguration and exports
RedisSentinelInternal, which could affect pub/sub reconnection behavior and public API surface despite being a small, targeted fix with a regression test.Overview
Fixes a Sentinel failover edge case where the pub/sub proxy was reconnected using the raw sentinel-reported master address instead of the
nodeAddressMap-mapped address.Exports
RedisSentinelInternaland adds a focused unit test (pub-sub-master-change.spec.ts) assertingPubSubProxy.changeNodereceives the mapped host/port; also includes small typing/lint cleanups (explicitanysuppression, unused param, safer error casting,Promise<unknown>).Reviewed by Cursor Bugbot for commit 8fe5721. Bugbot is set up for automated code reviews on this repo. Configure here.