From 12cffc9c2653c8910909889a34ec12bdd40c8ac6 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 29 Jun 2023 15:41:20 +0800 Subject: [PATCH] log --- pkg/discoveryregistry/zookeeper/discover.go | 10 +++++----- pkg/discoveryregistry/zookeeper/resolver.go | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkg/discoveryregistry/zookeeper/discover.go b/pkg/discoveryregistry/zookeeper/discover.go index 7d3cab77a..fc547318a 100644 --- a/pkg/discoveryregistry/zookeeper/discover.go +++ b/pkg/discoveryregistry/zookeeper/discover.go @@ -44,6 +44,10 @@ func (s *ZkClient) watch() { func (s *ZkClient) GetConnsRemote(serviceName string) (conns []resolver.Address, err error) { path := s.getPath(serviceName) + _, _, _, err = s.conn.ChildrenW(path) + if err != nil { + return nil, errors.Wrap(err, "children watch error") + } childNodes, _, err := s.conn.Children(path) if err != nil { return nil, errors.Wrap(err, "get children error") @@ -57,13 +61,9 @@ func (s *ZkClient) GetConnsRemote(serviceName string) (conns []resolver.Address, } return nil, errors.Wrap(err, "get children error") } - log.ZDebug(context.Background(), "get conns from remote", "conn", data) + log.ZDebug(context.Background(), "get conns from remote", "conn", string(data)) conns = append(conns, resolver.Address{Addr: string(data), ServerName: serviceName}) } - _, _, _, err = s.conn.ChildrenW(path) - if err != nil { - return nil, errors.Wrap(err, "children watch error") - } if len(conns) == 0 { return nil, fmt.Errorf("no conn for service %s, grpc server may not exist, local conn is %v, please check zookeeper server %v, path: %s", serviceName, s.localConns, s.zkServers, s.zkRoot) } diff --git a/pkg/discoveryregistry/zookeeper/resolver.go b/pkg/discoveryregistry/zookeeper/resolver.go index f41666e15..c1385fab7 100644 --- a/pkg/discoveryregistry/zookeeper/resolver.go +++ b/pkg/discoveryregistry/zookeeper/resolver.go @@ -22,6 +22,7 @@ func (r *Resolver) ResolveNow(o resolver.ResolveNowOptions) { newConns, err := r.getConnsRemote(strings.TrimLeft(r.target.URL.Path, "/")) if err != nil { log.ZError(context.Background(), "resolve now error", err, "target", r.target) + r.ResolveNow(o) return } r.addrs = newConns