Skip to content

Commit d87f230

Browse files
HunDunDMti-chi-bot
andauthored
operator: When replacing-down-peer, it should not stop at the step of leave-joint-state (#5789)
ref #5568, close #5788 Signed-off-by: HunDunDM <hundundm@gmail.com> Co-authored-by: Ti Chi Robot <ti-community-prow-bot@tidb.io>
1 parent 544c86a commit d87f230

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

server/schedule/operator/step.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,7 @@ func (dv DemoteVoter) IsFinish(region *core.RegionInfo) bool {
755755
log.Warn("obtain unexpected peer", zap.String("expect", dv.String()), zap.Uint64("obtain-learner", peer.GetId()))
756756
return false
757757
}
758-
return region.GetPendingLearner(peer.GetId()) == nil
758+
return peer.GetId() == dv.PeerID
759759
}
760760
return false
761761
}

server/schedule/operator/step_test.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -569,5 +569,12 @@ func (suite *operatorStepTestSuite) check(step OpStep, desc string, testCases []
569569
err := step.CheckInProgress(suite.cluster, region)
570570
testCase.CheckInProgress(err)
571571
_ = step.GetCmd(region, true)
572+
573+
if _, ok := step.(ChangePeerV2Leave); ok {
574+
// Ref https://github.com/tikv/pd/issues/5788
575+
pendingPeers := region.GetLearners()
576+
region = region.Clone(core.WithPendingPeers(pendingPeers))
577+
suite.Equal(testCase.IsFinish, step.IsFinish(region))
578+
}
572579
}
573580
}

0 commit comments

Comments
 (0)