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

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


The following commit(s) were added to refs/heads/main by this push:
     new 12f5211c8 ignore zk node already exist when store provider/consumer 
metadata (#2311)
12f5211c8 is described below

commit 12f5211c8013d97bf16159e9ff2eb0e67644873b
Author: Leo Shen <[email protected]>
AuthorDate: Sat Jun 3 15:49:46 2023 +0800

    ignore zk node already exist when store provider/consumer metadata (#2311)
---
 metadata/report/zookeeper/report.go | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/metadata/report/zookeeper/report.go 
b/metadata/report/zookeeper/report.go
index 6e2525da9..9a55865a8 100644
--- a/metadata/report/zookeeper/report.go
+++ b/metadata/report/zookeeper/report.go
@@ -28,6 +28,7 @@ import (
        gxset "github.com/dubbogo/gost/container/set"
        gxzookeeper "github.com/dubbogo/gost/database/kv/zk"
        "github.com/dubbogo/gost/log/logger"
+       perrors "github.com/pkg/errors"
 )
 
 import (
@@ -79,7 +80,7 @@ func (m *zookeeperMetadataReport) 
PublishAppMetadata(metadataIdentifier *identif
                return err
        }
        err = m.client.CreateWithValue(k, data)
-       if err == zk.ErrNodeExists {
+       if perrors.Is(err, zk.ErrNodeExists) {
                logger.Debugf("Try to create the node data failed. In most 
cases, it's not a problem. ")
                return nil
        }
@@ -89,13 +90,23 @@ func (m *zookeeperMetadataReport) 
PublishAppMetadata(metadataIdentifier *identif
 // StoreProviderMetadata stores the metadata.
 func (m *zookeeperMetadataReport) StoreProviderMetadata(providerIdentifier 
*identifier.MetadataIdentifier, serviceDefinitions string) error {
        k := m.rootDir + providerIdentifier.GetFilePathKey()
-       return m.client.CreateWithValue(k, []byte(serviceDefinitions))
+       err := m.client.CreateWithValue(k, []byte(serviceDefinitions))
+       if perrors.Is(err, zk.ErrNodeExists) {
+               logger.Debugf("Try to store provider metadata failed. In most 
cases, it's not a problem. ")
+               return nil
+       }
+       return err
 }
 
 // StoreConsumerMetadata stores the metadata.
 func (m *zookeeperMetadataReport) 
StoreConsumerMetadata(consumerMetadataIdentifier 
*identifier.MetadataIdentifier, serviceParameterString string) error {
        k := m.rootDir + consumerMetadataIdentifier.GetFilePathKey()
-       return m.client.CreateWithValue(k, []byte(serviceParameterString))
+       err := m.client.CreateWithValue(k, []byte(serviceParameterString))
+       if perrors.Is(err, zk.ErrNodeExists) {
+               logger.Debugf("Try to store consumer metadata failed. In most 
cases, it's not a problem. ")
+               return nil
+       }
+       return err
 }
 
 // SaveServiceMetadata saves the metadata.

Reply via email to