diff --git a/kv/raftstore/peer.go b/kv/raftstore/peer.go index 9534caf6..c75fe59c 100644 --- a/kv/raftstore/peer.go +++ b/kv/raftstore/peer.go @@ -343,8 +343,13 @@ func (p *peer) Term() uint64 { } func (p *peer) HeartbeatScheduler(ch chan<- worker.Task) { + clonedRegion := new(metapb.Region) + err := util.CloneMsg(p.Region(), clonedRegion) + if err != nil { + return + } ch <- &runner.SchedulerRegionHeartbeatTask{ - Region: p.Region(), + Region: clonedRegion, Peer: p.Meta, PendingPeers: p.CollectPendingPeers(), ApproximateSize: p.ApproximateSize,