From 744afb25a105ca1fd891c13dab582b340b5ad933 Mon Sep 17 00:00:00 2001 From: flycash <mingflycash@gmail.com> Date: Fri, 10 Jul 2020 21:26:06 +0800 Subject: [PATCH] Fix Review --- .../service_discovery_registry.go | 3 ++- .../curator_discovery/service_discovery.go | 15 +++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/registry/servicediscovery/service_discovery_registry.go b/registry/servicediscovery/service_discovery_registry.go index d6cce32f9..31c0ed18e 100644 --- a/registry/servicediscovery/service_discovery_registry.go +++ b/registry/servicediscovery/service_discovery_registry.go @@ -263,9 +263,9 @@ func (s *serviceDiscoveryRegistry) Subscribe(url *common.URL, notify registry.No } s.registerServiceInstancesChangedListener(*url, listener) } - return nil } + func (s *serviceDiscoveryRegistry) registerServiceInstancesChangedListener(url common.URL, listener *registry.ServiceInstancesChangedListener) { listenerId := listener.ServiceName + ":" + getUrlKey(url) if !s.subscribedServices.Contains(listenerId) { @@ -335,6 +335,7 @@ func (s *serviceDiscoveryRegistry) synthesizeSubscribedURLs(subscribedURL *commo } return urls } + func shouldSubscribe(url common.URL) bool { return !shouldRegister(url) } diff --git a/remoting/zookeeper/curator_discovery/service_discovery.go b/remoting/zookeeper/curator_discovery/service_discovery.go index 1b52a53d8..6924507b1 100644 --- a/remoting/zookeeper/curator_discovery/service_discovery.go +++ b/remoting/zookeeper/curator_discovery/service_discovery.go @@ -22,8 +22,6 @@ import ( "path" "strings" "sync" - - "github.com/dubbogo/go-zookeeper/zk" ) import ( @@ -31,6 +29,8 @@ import ( ) import ( + "github.com/dubbogo/go-zookeeper/zk" + "github.com/apache/dubbo-go/common/constant" "github.com/apache/dubbo-go/common/logger" "github.com/apache/dubbo-go/remoting" @@ -119,14 +119,17 @@ func (sd *ServiceDiscovery) UpdateService(instance *ServiceInstance) error { if !ok { return perrors.New("[ServiceDiscovery] services value not entry") } - entry.Lock() - defer entry.Unlock() - entry.instance = instance - path := sd.pathForInstance(instance.Name, instance.Id) data, err := json.Marshal(instance) + if err != nil { return err } + + entry.Lock() + defer entry.Unlock() + entry.instance = instance + path := sd.pathForInstance(instance.Name, instance.Id) + _, err = sd.client.SetContent(path, data, -1) if err != nil { return err -- GitLab