diff --git a/client/config/dynconfig_manager.go b/client/config/dynconfig_manager.go index 735e20f419f..b5aca3613f0 100644 --- a/client/config/dynconfig_manager.go +++ b/client/config/dynconfig_manager.go @@ -119,28 +119,15 @@ func (d *dynconfigManager) GetResolveSchedulerAddrs() ([]resolver.Address, error dialOptions = append(dialOptions, grpc.WithTransportCredentials(insecure.NewCredentials())) } - var addr string - if ip, ok := ip.FormatIP(scheduler.GetIp()); ok { - // Check health with ip address. - target := fmt.Sprintf("%s:%d", ip, scheduler.GetPort()) - if err := healthclient.Check(context.Background(), target, dialOptions...); err != nil { - logger.Warnf("scheduler ip address %s is unreachable: %s", target, err.Error()) - - // Check health with host address. - target = fmt.Sprintf("%s:%d", scheduler.GetHostname(), scheduler.GetPort()) - if err := healthclient.Check(context.Background(), target, dialOptions...); err != nil { - logger.Warnf("scheduler host address %s is unreachable: %s", target, err.Error()) - } else { - addr = target - } - } else { - addr = target - } + ip, ok := ip.FormatIP(scheduler.GetIp()) + if !ok { + logger.Warnf("invalid IP format for scheduler: %s", scheduler.GetIp()) + continue } - if addr == "" { - logger.Warnf("scheduler %s %s %d has not reachable addresses", - scheduler.GetIp(), scheduler.GetHostname(), scheduler.GetPort()) + addr := fmt.Sprintf("%s:%d", ip, scheduler.GetPort()) + if err := healthclient.Check(context.Background(), addr, dialOptions...); err != nil { + logger.Warnf("scheduler %s is unreachable: %s", addr, err.Error()) continue } diff --git a/client/config/dynconfig_manager_test.go b/client/config/dynconfig_manager_test.go index c980ef25d1b..22fdbc8a34d 100644 --- a/client/config/dynconfig_manager_test.go +++ b/client/config/dynconfig_manager_test.go @@ -217,9 +217,8 @@ func TestDynconfigManager_GetResolveSchedulerAddrs(t *testing.T) { }, expect: func(t *testing.T, dynconfig Dynconfig, data *DynconfigData) { assert := assert.New(t) - result, err := dynconfig.GetResolveSchedulerAddrs() - assert.NoError(err) - assert.EqualValues(result, []resolver.Address{{ServerName: "localhost", Addr: "localhost:3000"}}) + _, err := dynconfig.GetResolveSchedulerAddrs() + assert.Error(err) }, }, {