diff --git a/registry/etcdv3/registry.go b/registry/etcdv3/registry.go index a2722a2e67c22f3e3d9380849a9a256fd2ebbaa0..a65d090349b40d473c769e3130e4f000ee03bd00 100644 --- a/registry/etcdv3/registry.go +++ b/registry/etcdv3/registry.go @@ -115,7 +115,7 @@ func (r *etcdV3Registry) DoRegister(root string, node string) error { } func (r *etcdV3Registry) DoUnregister(root string, node string) error { - return r.client.Delete(path.Join(root, node)) + return perrors.New("DoUnregister is not support in etcdV3Registry") } func (r *etcdV3Registry) CloseAndNilClient() { diff --git a/registry/kubernetes/registry.go b/registry/kubernetes/registry.go index e64f9acb07b68275edb464bcd983d507658acc2f..7ee0f6b0eeb83181bfd20e1abe4685e8319cd09b 100644 --- a/registry/kubernetes/registry.go +++ b/registry/kubernetes/registry.go @@ -108,8 +108,7 @@ func (r *kubernetesRegistry) DoRegister(root string, node string) error { } func (r *kubernetesRegistry) DoUnregister(root string, node string) error { - panic("DoUnregister is not support in kubernetesRegistry") - return nil + return perrors.New("DoUnregister is not support in kubernetesRegistry") } func (r *kubernetesRegistry) DoSubscribe(svc *common.URL) (registry.Listener, error) { diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go index f51ec671861ecb5fd894f0a7cbbe8883536b491f..e68265068bc2f3c60b57fc134e49ec08baef7900 100644 --- a/registry/zookeeper/registry.go +++ b/registry/zookeeper/registry.go @@ -279,12 +279,9 @@ func (r *zkRegistry) getCloseListener(conf *common.URL) (*RegistryConfigurationL zkListener, _ := configurationListener.(*RegistryConfigurationListener) if zkListener != nil { - r.listenerLock.Lock() if zkListener.isClosed { - r.listenerLock.Unlock() return nil, perrors.New("configListener already been closed") } - r.listenerLock.Unlock() } } @@ -299,6 +296,7 @@ func (r *zkRegistry) getCloseListener(conf *common.URL) (*RegistryConfigurationL r.listenerLock.Lock() listener := r.listener r.listener = nil + r.listenerLock.Unlock() r.dataListener.Close() listener.Close()