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 <[email protected]>
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)

Reply via email to