Skip to content

storage: *roachpb.RaftGroupDeletedError for RHS in splitPostApply #21146

@tbg

Description

@tbg
func splitPostApply(
	ctx context.Context, deltaMS enginepb.MVCCStats, split *roachpb.SplitTrigger, r *Replica,
) {
	// The right hand side of the split was already created (and its raftMu
	// acquired) in Replica.acquireSplitLock. It must be present here.
	rightRng, err := r.store.GetReplica(split.RightDesc.RangeID)
	if err != nil {
		log.Fatalf(ctx, "unable to find RHS replica: %s", err)
	}
	{
		rightRng.mu.Lock()
		// Already holding raftMu, see above.
		err := rightRng.initRaftMuLockedReplicaMuLocked(&split.RightDesc, r.store.Clock(), 0)
		rightRng.mu.Unlock()
		if err != nil {
			log.Fatal(ctx, err) <--
		}
	}

https://sentry.io/cockroach-labs/cockroachdb/issues/426530382/

*log.safeError: store.go:1820: *roachpb.RaftGroupDeletedError
  File "github.com/cockroachdb/cockroach/pkg/storage/replica_proposal.go", line 718, in handleReplicatedEvalResult
  File "github.com/cockroachdb/cockroach/pkg/storage/replica_proposal.go", line 981, in handleEvalResultRaftMuLocked
  File "github.com/cockroachdb/cockroach/pkg/storage/replica.go", line 4480, in processRaftCommand
  File "github.com/cockroachdb/cockroach/pkg/storage/replica.go", line 3481, in handleRaftReadyRaftMuLocked
  File "github.com/cockroachdb/cockroach/pkg/storage/replica.go", line 3173, in handleRaftReady
...
(4 additional frame(s) were not displayed)

store.go:1820: *roachpb.RaftGroupDeletedError

Metadata

Metadata

Assignees

Labels

A-kv-replicationRelating to Raft, consensus, and coordination.C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.S-2-temp-unavailabilityTemp crashes or other availability problems. Can be worked around or resolved by restarting.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions