Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cherry-picks for 2.10.23-RC.3 #6129

Draft
wants to merge 8 commits into
base: release/v2.10.23
Choose a base branch
from
Draft

Conversation

neilalexander and others added 8 commits November 14, 2024 12:52
…nment

If we are reassigning a stream assignment to a different placement, i.e.
due to insufficient resources or another placement error, then don't
process any further stream assignment results until the new assignment
is processed. Otherwise we might generate multiple new assignments
unnecessarily which could delete/recreate/update the stream multiple
times, potentially on different peer sets.

This should also de-flake `TestJetStreamSuperClusterConcurrentOverflow`.

Signed-off-by: Neil Twigg <neil@nats.io>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
In complex setup, a message produced from a cluster that had queue
interest from leafnodes (either hub or spoke) would sometimes not
deliver a message if the interest was a leafnode that had the
interest on behalf of a gateway.

In the setup described in the issue this PR fixes, "Cluster B"
may have picked "Cluster C", but that cluster does not have local
queue interest, only the leafnode interest from "Cluster B", and
would pick a LEAF connection to this cluster, but then suppress
the message since it came from "B" so "C" cannot send it back there.

But picking a queue sub for "B" in "C" would then prevent the
message to be delivered to the gateway "D".

Resolves #6125

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
…g of the hdr for each additional addition.

Signed-off-by: Derek Collison <derek@nats.io>
Previously this was always firing at the exact interval. Then #6041
changed this so that the first firing was anytime between 1s and the
interval to spread out different stores. This tweaks it once more to
anytime between interval/2 and interval. It will still spread things
out a bit but hit the benchmarks a bit less badly.

Also go back to `math/rand` instead of `math/rand/v2` due to availability
in Go versions that we still care about for 2.10.x.

Signed-off-by: Neil Twigg <neil@nats.io>
Signed-off-by: Neil Twigg <neil@nats.io>
This reduces allocations in the NRG `sendRPC` and `sendReply` functions
by promoting buffer reuse.

Signed-off-by: Neil Twigg <neil@nats.io>

---------

Signed-off-by: Neil Twigg <neil@nats.io>
Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
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.

4 participants