diff --git a/registry/servicediscovery/service_discovery_registry.go b/registry/servicediscovery/service_discovery_registry.go
index d6cce32f929ad7a4558e3af099a0dd3dbcd779af..31c0ed18eeafe3c90ff212ba61a3881659c2cf0e 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 1b52a53d80a35a67cff463b275628588768a6085..6924507b140c000794b002559f662d8e22999710 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