Skip to content

[FIXED] LeafNode: Subject propagation with daisy chain and import/export#7255

Merged
derekcollison merged 1 commit intomainfrom
fix_leaf_sub_propagation
Sep 3, 2025
Merged

[FIXED] LeafNode: Subject propagation with daisy chain and import/export#7255
derekcollison merged 1 commit intomainfrom
fix_leaf_sub_propagation

Conversation

@kozlovic
Copy link
Copy Markdown
Member

@kozlovic kozlovic commented Sep 3, 2025

The issue can be observed for instance with JetStream and source streams, that would not be populating properly depending on where a server connects to in a given topology. See the new test TestLeafNodeDaisyChainWithAccountImportExport for a demonstration of the issue without the fix in place.

Signed-off-by: Ivan Kozlovic ivan@synadia.com

The issue can be observed for instance with JetStream and source
streams, that would not be populating properly depending on where
a server connects to in a given topology. See the new test
`TestLeafNodeDaisyChainWithAccountImportExport` for a demonstration
of the issue without the fix in place.

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
@kozlovic kozlovic requested a review from a team as a code owner September 3, 2025 22:43
// this function already takes care of not sending to a spoke leafnode since
// the `nsub` here is already from a spoke leafnode, but to be explicit, we
// use this version that updates only leafnodes that connect to this server.
im.acc.updateLeafNodesEx(&nsub, 1, true)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@derekcollison I am pretty sure that - as of now, and with the test case I have added - we would not need a new function, but decided after much thinking, that I would have this version that excludes some type of leafnode connections. Let me know if you want me to remove that and simply use updateLeafNodes().

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree

Copy link
Copy Markdown
Member

@derekcollison derekcollison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

// this function already takes care of not sending to a spoke leafnode since
// the `nsub` here is already from a spoke leafnode, but to be explicit, we
// use this version that updates only leafnodes that connect to this server.
im.acc.updateLeafNodesEx(&nsub, 1, true)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree

@derekcollison derekcollison merged commit e8e969e into main Sep 3, 2025
90 of 92 checks passed
@derekcollison derekcollison deleted the fix_leaf_sub_propagation branch September 3, 2025 23:36
neilalexander added a commit that referenced this pull request Sep 8, 2025
Includes the following:
- #7200
- #7201
- #7202
- #7209
- #7210
- #7211
- #7213
- #7212
- #7216
- #7217
- #7230
- #7239
- #7246
- #7248
-
8241a15,
specifically delayed errors that are not JS API errors
- #7158 (not containing
2.12-specific changes)
- #7233
- #7255
- #7249
- #7259
- #7265
- #7273 (not including Go
1.25.x)
- #7258
- #7222

Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
Signed-off-by: Neil Twigg <neil@nats.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants