From e9ce118c56ff73c20717948edd1f9414a1028ab0 Mon Sep 17 00:00:00 2001 From: Deepak Date: Wed, 14 Sep 2022 13:58:49 +0530 Subject: [PATCH] Fix peer randomisation when creating consumers groups for replica=1 Signed-off-by: Deepak --- server/jetstream_cluster.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/jetstream_cluster.go b/server/jetstream_cluster.go index ae8d87ad..3b9fd81d 100644 --- a/server/jetstream_cluster.go +++ b/server/jetstream_cluster.go @@ -5950,8 +5950,9 @@ func (cc *jetStreamCluster) createGroupForConsumer(cfg *ConsumerConfig, sa *stre return nil } if cfg.Replicas > 0 && cfg.Replicas != len(peers) { - peers = peers[:cfg.Replicas] + // First shuffle the peers and then select to account for replica = 1. rand.Shuffle(len(peers), func(i, j int) { peers[i], peers[j] = peers[j], peers[i] }) + peers = peers[:cfg.Replicas] } storage := sa.Config.Storage if cfg.MemoryStorage {