From 0f806ac61b30fd20caf22ea4e267dfee3c01f7d7 Mon Sep 17 00:00:00 2001 From: HunDunDM Date: Mon, 6 Sep 2021 12:28:26 +0800 Subject: [PATCH 1/2] checker: judging that the peer is down is no longer based on DownSeconds Signed-off-by: HunDunDM --- server/schedule/checker/replica_checker.go | 4 ---- server/schedule/checker/rule_checker.go | 3 --- 2 files changed, 7 deletions(-) diff --git a/server/schedule/checker/replica_checker.go b/server/schedule/checker/replica_checker.go index 4f93058d905..05d447ca9a4 100644 --- a/server/schedule/checker/replica_checker.go +++ b/server/schedule/checker/replica_checker.go @@ -109,10 +109,6 @@ func (r *ReplicaChecker) checkDownPeer(region *core.RegionInfo) *operator.Operat if store.DownTime() < r.opts.GetMaxStoreDownTime() { continue } - if stats.GetDownSeconds() < uint64(r.opts.GetMaxStoreDownTime().Seconds()) { - continue - } - return r.fixPeer(region, storeID, downStatus) } return nil diff --git a/server/schedule/checker/rule_checker.go b/server/schedule/checker/rule_checker.go index 3b1b95137d4..c5f008f58c7 100644 --- a/server/schedule/checker/rule_checker.go +++ b/server/schedule/checker/rule_checker.go @@ -295,9 +295,6 @@ func (c *RuleChecker) isDownPeer(region *core.RegionInfo, peer *metapb.Peer) boo if store.DownTime() < c.cluster.GetOpts().GetMaxStoreDownTime() { continue } - if stats.GetDownSeconds() < uint64(c.cluster.GetOpts().GetMaxStoreDownTime().Seconds()) { - continue - } return true } return false From 667be8c150c27305c0d17ecfad5b0fe29baf4ad5 Mon Sep 17 00:00:00 2001 From: HunDunDM Date: Mon, 6 Sep 2021 14:44:48 +0800 Subject: [PATCH 2/2] address comment Signed-off-by: HunDunDM --- server/schedule/checker/replica_checker.go | 1 + server/schedule/checker/rule_checker.go | 1 + 2 files changed, 2 insertions(+) diff --git a/server/schedule/checker/replica_checker.go b/server/schedule/checker/replica_checker.go index 05d447ca9a4..5edf8a2d6cc 100644 --- a/server/schedule/checker/replica_checker.go +++ b/server/schedule/checker/replica_checker.go @@ -106,6 +106,7 @@ func (r *ReplicaChecker) checkDownPeer(region *core.RegionInfo) *operator.Operat log.Warn("lost the store, maybe you are recovering the PD cluster", zap.Uint64("store-id", storeID)) return nil } + // Only consider the state of the Store, not `stats.DownSeconds`. if store.DownTime() < r.opts.GetMaxStoreDownTime() { continue } diff --git a/server/schedule/checker/rule_checker.go b/server/schedule/checker/rule_checker.go index c5f008f58c7..6ce4e8de449 100644 --- a/server/schedule/checker/rule_checker.go +++ b/server/schedule/checker/rule_checker.go @@ -292,6 +292,7 @@ func (c *RuleChecker) isDownPeer(region *core.RegionInfo, peer *metapb.Peer) boo log.Warn("lost the store, maybe you are recovering the PD cluster", zap.Uint64("store-id", storeID)) return false } + // Only consider the state of the Store, not `stats.DownSeconds`. if store.DownTime() < c.cluster.GetOpts().GetMaxStoreDownTime() { continue }