Cherry-picks for 2.12.5-RC.2#7861
Merged
neilalexander merged 17 commits intorelease/v2.12.5from Feb 20, 2026
Merged
Conversation
Signed-off-by: Neil Twigg <neil@nats.io>
Allows CLI to correctly detect when `window_size` from #7839 is supported or not. Signed-off-by: Neil Twigg <neil@nats.io>
…eta snapshot Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
…ds that are mistmatched Signed-off-by: Alberto Ricart <alberto@synadia.com>
Signed-off-by: Alberto Ricart <alberto@synadia.com>
This commit speeds up wildcard based filtering: - Avoid expanding the bounds for matching fss entries that are past our search - Avoid unnecessary creation of a list with matching subjects - Introduce MatchUntil, this allows early stop if we find a match with first <= start Signed-off-by: Daniele Sciascia <daniele@nats.io>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
Replace subjectIsSubsetMatch with matchLiteral in loadNextMsgLocked. The latter avoids subject tokenization and is optimized to handle the case where we want to match a literal subject against a filter with wildcards. subjectIsSubsetMatch is a more generic matcher, where both parameters may contain subjects, which is not needed in loadNextMsgLocked. Signed-off-by: Daniele Sciascia <daniele@nats.io>
On restart, replaying EntryAddPeer could incorrectly leave a raft node at cluster size 1 instead of restoring the expected size and quorum from persisted state. This bug could lead to the following scenario: a node in a 3 node cluster could restart, reset set cluster size to 1. If the node did not receive any message from other nodes, it could campaign to become leader. Being in a single node cluster, it would win the election. Resulting in the original cluster splitting into two clusters (or two leaders at the same time). Specifically, if an EntryAddPeer was replayed on from the log, it would overwrite the cluster size and quorum to 1. The peer set is now restored before the log is replayed, and it is taken from the snapshot (if no snapshot is present then we fallback to peer.idx). If a log entry that changes membership is replayed, it will now update the cluster and quorum size correctly. Signed-off-by: Daniele Sciascia <daniele@nats.io>
Verifies that JetStream flow control completes when a stream sources from two different external accounts whose $JS.FC.> service imports cause FC replies to fan out to all accounts. Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: John Weldon <jweldon@nats.io>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
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.
Includes the following:
window_sizefor stream snapshot flow control #7839Signed-off-by: Neil Twigg neil@nats.io