Do not limit expansion of new peers

Signed-off-by: Derek Collison <derek@nats.io>
This commit is contained in:
Derek Collison
2021-04-14 18:43:42 -07:00
parent c92cb97ac7
commit cf34514f9f
2 changed files with 3 additions and 9 deletions

View File

@@ -5519,7 +5519,7 @@ func TestJetStreamClusterMixedMode(t *testing.T) {
}
func TestJetStreamClusterLeafnodeSpokes(t *testing.T) {
c := createJetStreamClusterExplicit(t, "HUB", 3)
c := createJetStreamCluster(t, jsClusterTempl, "HUB", _EMPTY_, 3, 22020, false)
defer c.shutdown()
lnc1 := c.createLeafNodesWithStartPort("R1", 3, 22110)
@@ -6367,7 +6367,7 @@ func (c *cluster) waitOnPeerCount(n int) {
c.t.Helper()
c.waitOnLeader()
leader := c.leader()
expires := time.Now().Add(20 * time.Second)
expires := time.Now().Add(10 * time.Second)
for time.Now().Before(expires) {
peers := leader.JetStreamClusterPeers()
if len(peers) == n {

View File

@@ -238,7 +238,6 @@ var (
errNotLeader = errors.New("raft: not leader")
errAlreadyLeader = errors.New("raft: already leader")
errNilCfg = errors.New("raft: no config given")
errUnknownPeer = errors.New("raft: unknown peer")
errCorruptPeers = errors.New("raft: corrupt peer state")
errStepdownFailed = errors.New("raft: stepdown failed")
errEntryLoadFailed = errors.New("raft: could not load entry from WAL")
@@ -2065,6 +2064,7 @@ func (n *raft) applyCommit(index uint64) error {
case EntryAddPeer:
newPeer := string(e.Data)
n.debug("Added peer %q", newPeer)
if _, ok := n.peers[newPeer]; !ok {
// We are not tracking this one automatically so we need to bump cluster size.
n.peers[newPeer] = &lps{time.Now().UnixNano(), 0}
@@ -2167,12 +2167,6 @@ func (n *raft) trackPeer(peer string) error {
var needPeerUpdate bool
if n.state == Leader {
if _, ok := n.peers[peer]; !ok {
// This is someone new, if we have registered all of the peers already
// this is an error.
if len(n.peers) >= n.csz {
n.Unlock()
return errUnknownPeer
}
needPeerUpdate = true
}
}