You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
kvserverpb: move quorum safeguard into execChangeReplicasTxn
This used to live in the replicate queue, but there are other
entry points to replication changes, notably the store rebalancer
which caused cockroachdb#54444.
Move the check in the guts of replication changes where it is
guaranteed to be invoked.
Fixescockroachdb#50729
Touches cockroachdb#54444 (release-20.2)
Release note (bug fix): in rare situations, an automated replication
change could result in a loss of quorum. This would require down nodes
and a simultaneous change in the replication factor. Note that a change
in the replication factor can occur automatically if the cluster is
comprised of less than five available nodes. Experimentally the likeli-
hood of encountering this issue, even under contrived conditions, was
small.
// Removing the leaseholder is invalid for technical reasons, but
348
-
// Generator intentiontally does not try to avoid this so that this edge
349
-
// case is exercised.
350
-
} elseifresultIsError(t.Result, `removing .* which is not in`) {
351
-
// Generator created this operations based on data about a range's
352
-
// replicas that is now stale (because it raced with some other operation
353
-
// created by that Generator): a replica is being removed and in the
354
-
// meantime, some other operation removed the same replica.
355
-
} elseifresultIsError(t.Result, `remote failed to apply snapshot for reason failed to apply snapshot: raft group deleted`) {
356
-
// Probably should be transparently retried.
357
-
} elseifresultIsError(t.Result, `remote failed to apply snapshot for reason failed to apply snapshot: .* cannot add placeholder, have an existing placeholder`) {
0 commit comments