Skip to content

Commit ee4580b

Browse files
committed
kvserverpb: remove Equal from ReplicatedEvalResult
We can compare it directly since we only ever wanted to compare it to zero. Release note: None
1 parent 3cadf31 commit ee4580b

File tree

9 files changed

+297
-436
lines changed

9 files changed

+297
-436
lines changed

pkg/kv/kvserver/batcheval/result/result.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ func (p *Result) IsZero() bool {
164164
if !p.Local.IsZero() {
165165
return false
166166
}
167-
if !p.Replicated.Equal(kvserverpb.ReplicatedEvalResult{}) {
167+
if !p.Replicated.IsZero() {
168168
return false
169169
}
170170
if p.WriteBatch != nil {

pkg/kv/kvserver/kvserverpb/proposer_kv.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,8 @@ var maxRaftCommandFooterSize = (&RaftCommandFooter{
2121
func MaxRaftCommandFooterSize() int {
2222
return maxRaftCommandFooterSize
2323
}
24+
25+
// IsZero returns whether all fields are set to their zero value.
26+
func (r ReplicatedEvalResult) IsZero() bool {
27+
return r == ReplicatedEvalResult{}
28+
}

pkg/kv/kvserver/kvserverpb/proposer_kv.pb.go

Lines changed: 105 additions & 186 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/kv/kvserver/kvserverpb/proposer_kv.proto

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,6 @@ message Merge {
5050
// ChangeReplicas is emitted by a Replica which commits a transaction with
5151
// a ChangeReplicasTrigger.
5252
message ChangeReplicas {
53-
option (gogoproto.equal) = true;
54-
5553
option (gogoproto.goproto_stringer) = false;
5654

5755
roachpb.ChangeReplicasTrigger trigger = 1 [(gogoproto.nullable) = false,
@@ -117,8 +115,6 @@ message SuggestedCompaction {
117115
// leases, log truncation, ...) of the Replica or certain special commands must
118116
// sideline information here based on which all Replicas must take action.
119117
message ReplicatedEvalResult {
120-
option (gogoproto.equal) = true;
121-
122118
// Updates to the Replica's ReplicaState. By convention and as outlined on
123119
// the comment on the ReplicaState message, this field is sparsely populated
124120
// and any field set overwrites the corresponding field in the state, perhaps

pkg/kv/kvserver/replica_application_result.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func isTrivial(r *kvserverpb.ReplicatedEvalResult) bool {
7070
allowlist.DeprecatedDelta = nil
7171
allowlist.PrevLeaseProposal = nil
7272
allowlist.State = nil
73-
return allowlist.Equal(kvserverpb.ReplicatedEvalResult{})
73+
return allowlist.IsZero()
7474
}
7575

7676
// clearTrivialReplicatedEvalResultFields is used to zero out the fields of a

pkg/kv/kvserver/replica_application_state_machine.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,7 +1070,7 @@ func (sm *replicaStateMachine) ApplySideEffects(
10701070
sm.r.mu.Unlock()
10711071
sm.stats.stateAssertions++
10721072
}
1073-
} else if res := cmd.replicatedResult(); !res.Equal(kvserverpb.ReplicatedEvalResult{}) {
1073+
} else if res := cmd.replicatedResult(); !res.IsZero() {
10741074
log.Fatalf(ctx, "failed to handle all side-effects of ReplicatedEvalResult: %v", res)
10751075
}
10761076

@@ -1126,7 +1126,7 @@ func (sm *replicaStateMachine) handleNonTrivialReplicatedEvalResult(
11261126
ctx context.Context, rResult *kvserverpb.ReplicatedEvalResult,
11271127
) (shouldAssert, isRemoved bool) {
11281128
// Assert that this replicatedResult implies at least one side-effect.
1129-
if rResult.Equal(kvserverpb.ReplicatedEvalResult{}) {
1129+
if rResult.IsZero() {
11301130
log.Fatalf(ctx, "zero-value ReplicatedEvalResult passed to handleNonTrivialReplicatedEvalResult")
11311131
}
11321132

@@ -1159,7 +1159,7 @@ func (sm *replicaStateMachine) handleNonTrivialReplicatedEvalResult(
11591159
// The rest of the actions are "nontrivial" and may have large effects on the
11601160
// in-memory and on-disk ReplicaStates. If any of these actions are present,
11611161
// we want to assert that these two states do not diverge.
1162-
shouldAssert = !rResult.Equal(kvserverpb.ReplicatedEvalResult{})
1162+
shouldAssert = !rResult.IsZero()
11631163
if !shouldAssert {
11641164
return false, false
11651165
}
@@ -1200,7 +1200,7 @@ func (sm *replicaStateMachine) handleNonTrivialReplicatedEvalResult(
12001200
rResult.ComputeChecksum = nil
12011201
}
12021202

1203-
if !rResult.Equal(kvserverpb.ReplicatedEvalResult{}) {
1203+
if !rResult.IsZero() {
12041204
log.Fatalf(ctx, "unhandled field in ReplicatedEvalResult: %s", pretty.Diff(rResult, kvserverpb.ReplicatedEvalResult{}))
12051205
}
12061206
return true, isRemoved

pkg/kv/kvserver/replica_proposal.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,7 @@ func (r *Replica) evaluateProposal(
777777
// 3. the request has replicated side-effects.
778778
needConsensus := !batch.Empty() ||
779779
ms != (enginepb.MVCCStats{}) ||
780-
!res.Replicated.Equal(kvserverpb.ReplicatedEvalResult{})
780+
!res.Replicated.IsZero()
781781

782782
if needConsensus {
783783
// Set the proposal's WriteBatch, which is the serialized representation of

0 commit comments

Comments
 (0)