diff --git a/client/servicediscovery/pd_service_discovery.go b/client/servicediscovery/pd_service_discovery.go index 5530f3cfa9b..931f950c6d1 100644 --- a/client/servicediscovery/pd_service_discovery.go +++ b/client/servicediscovery/pd_service_discovery.go @@ -509,8 +509,9 @@ func (c *pdServiceDiscovery) Init() error { } } - if err := c.checkServiceModeChanged(); err != nil { - log.Warn("[pd] failed to check service mode and will check later", zap.Error(err)) + if err := c.initRetry(c.checkServiceModeChanged); err != nil { + c.cancel() + return err } c.wg.Add(3)