You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/12/05 09:42:39 UTC

[dubbo-go-pixiu] branch develop updated: Fix repeat registry, add lock for registryMethod.

This is an automated email from the ASF dual-hosted git repository.

alexstocks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/dubbo-go-pixiu.git


The following commit(s) were added to refs/heads/develop by this push:
     new 1690b2c  Fix repeat registry, add lock for registryMethod.
     new 53413df  Merge pull request #314 from dongzl/registry-lock
1690b2c is described below

commit 1690b2c987028225fce0df2914304e94bbb4a434
Author: Zonglei Dong <do...@apache.org>
AuthorDate: Sat Dec 4 17:24:37 2021 +0800

    Fix repeat registry, add lock for registryMethod.
---
 pkg/adapter/dubboregistry/registry/zookeeper/service_listener.go | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/pkg/adapter/dubboregistry/registry/zookeeper/service_listener.go b/pkg/adapter/dubboregistry/registry/zookeeper/service_listener.go
index bc85662..24aad32 100644
--- a/pkg/adapter/dubboregistry/registry/zookeeper/service_listener.go
+++ b/pkg/adapter/dubboregistry/registry/zookeeper/service_listener.go
@@ -51,6 +51,7 @@ type serviceListener struct {
 	wg              sync.WaitGroup
 	adapterListener common2.RegistryEventListener
 	registryMethod  map[string]*config.Method
+	mutex           sync.Mutex
 }
 
 // newZkSrvListener creates a new zk service listener
@@ -166,6 +167,8 @@ func (zkl *serviceListener) handleEvent() {
 		},
 	}
 	apiPattern := registry.GetAPIPattern(bkConfig)
+	zkl.mutex.Lock()
+	defer zkl.mutex.Unlock()
 	for i := range methods {
 		api := registry.CreateAPIConfig(apiPattern, location, bkConfig, methods[i], mappingParams)
 		key := api.URLPattern + ":" + string(api.Method.HTTPVerb)