From 7e63b2b99496f16b35d4b9fe73cc981c6a09fb4a Mon Sep 17 00:00:00 2001 From: nolouch Date: Fri, 10 Jul 2020 11:13:34 +0800 Subject: [PATCH] cooridinator: fix the deadlock problem Signed-off-by: nolouch --- server/cluster/coordinator.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/cluster/coordinator.go b/server/cluster/coordinator.go index 5afb0f211f2..2b18a17a38f 100644 --- a/server/cluster/coordinator.go +++ b/server/cluster/coordinator.go @@ -380,12 +380,13 @@ func (c *coordinator) resetSchedulerMetrics() { func (c *coordinator) collectHotSpotMetrics() { c.RLock() - defer c.RUnlock() // Collects hot write region metrics. s, ok := c.schedulers[schedulers.HotRegionName] if !ok { + c.RUnlock() return } + c.RUnlock() stores := c.cluster.GetStores() status := s.Scheduler.(hasHotStatus).GetHotWriteStatus() pendings := s.Scheduler.(hasHotStatus).GetWritePendingInfluence()