diff --git a/transport/http/resolver.go b/transport/http/resolver.go index 6a264cb33..6bb1c3fff 100644 --- a/transport/http/resolver.go +++ b/transport/http/resolver.go @@ -79,17 +79,17 @@ func newResolver(ctx context.Context, discovery registry.Discovery, target *Targ select { case err := <-done: if err != nil { - err := watcher.Stop() - if err != nil { - r.logger.Errorf("failed to http client watch stop: %v", target) + stopErr := watcher.Stop() + if stopErr != nil { + r.logger.Errorf("failed to http client watch stop: %v, error: %+v", target, stopErr) } return nil, err } case <-ctx.Done(): r.logger.Errorf("http client watch service %v reaching context deadline!", target) - err := watcher.Stop() - if err != nil { - r.logger.Errorf("failed to http client watch stop: %v", target) + stopErr := watcher.Stop() + if stopErr != nil { + r.logger.Errorf("failed to http client watch stop: %v, error: %+v", target, stopErr) } return nil, ctx.Err() } diff --git a/transport/http/resolver_test.go b/transport/http/resolver_test.go index 5a214ad95..419bae44a 100644 --- a/transport/http/resolver_test.go +++ b/transport/http/resolver_test.go @@ -77,10 +77,10 @@ type mockWatch struct { } func (m *mockWatch) Next() ([]*registry.ServiceInstance, error) { - m.count++ if m.count == 1 { return nil, errors.New("mock test error") } + m.count++ instance := ®istry.ServiceInstance{ ID: "1", Name: "kratos",