Skip to content

Commit 8c5f4c7

Browse files
authored
store/mockstore/mocktikv: fix DATA RACE to make unit test stable (#11921)
Signed-off-by: Lonng <[email protected]>
1 parent 39aed0d commit 8c5f4c7

File tree

1 file changed

+3
-1
lines changed
  • store/mockstore/mocktikv

1 file changed

+3
-1
lines changed

store/mockstore/mocktikv/rpc.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,9 @@ func (h *rpcHandler) handleSplitRegion(req *kvrpcpb.SplitRegionRequest) *kvrpcpb
611611
}
612612
newRegionID, newPeerIDs := h.cluster.AllocID(), h.cluster.AllocIDs(len(region.Peers))
613613
newRegion := h.cluster.SplitRaw(region.GetId(), newRegionID, key, newPeerIDs, newPeerIDs[0])
614-
return &kvrpcpb.SplitRegionResponse{Left: newRegion.Meta}
614+
// The mocktikv should return a deep copy of meta info to avoid data race
615+
metaCloned := proto.Clone(newRegion.Meta)
616+
return &kvrpcpb.SplitRegionResponse{Left: metaCloned.(*metapb.Region)}
615617
}
616618

617619
// RPCClient sends kv RPC calls to mock cluster. RPCClient mocks the behavior of

0 commit comments

Comments
 (0)