diff --git a/registry/zookeeper/listener.go b/registry/zookeeper/listener.go index 19f25693c82b6390c7c54e47d13a4e9e36fa85ce..7d58cee1220b9aedba353d929ca1e936cf9366f2 100644 --- a/registry/zookeeper/listener.go +++ b/registry/zookeeper/listener.go @@ -46,10 +46,15 @@ func (l *RegistryDataListener) AddInterestedURL(url *common.URL) { func (l *RegistryDataListener) DataChange(eventType remoting.Event) bool { // Intercept the last bit - url := eventType.Path[strings.Index(eventType.Path, "/providers/")+len("/providers/"):] + index := strings.Index(eventType.Path, "/providers/") + if index == -1 { + logger.Warn("Listen with no url, event.path={%v}", eventType.Path) + return false + } + url := eventType.Path[index+len("/providers/"):] serviceURL, err := common.NewURL(context.TODO(), url) if err != nil { - logger.Errorf("Listen NewURL(r{%s}) = error{%v}", url, err) + logger.Errorf("Listen NewURL(r{%s}) = error{%v} eventType.Path={%v}", url, err, eventType.Path) return false } for _, v := range l.interestedURL { diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go index e2fca972306aa380e3f584b093e1315e1468a45e..eea573dab546f610be2c2939d53a3f120b346b11 100644 --- a/registry/zookeeper/registry.go +++ b/registry/zookeeper/registry.go @@ -381,7 +381,7 @@ func (r *zkRegistry) registerTempZookeeperNode(root string, node string) error { } zkPath, err = r.client.RegisterTemp(root, node) if err != nil { - logger.Errorf("RegisterTempNode(root{%s}, node{%s}) = error{%v}", root, node, perrors.WithStack(err)) + logger.Warnf("RegisterTempNode(root{%s}, node{%s}) = error{%v}", root, node, perrors.WithStack(err)) return perrors.WithMessagef(err, "RegisterTempNode(root{%s}, node{%s})", root, node) } logger.Debugf("create a zookeeper node:%s", zkPath)