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)