diff --git a/metadata/report/consul/report.go b/metadata/report/consul/report.go
index 2d3d00d608ccd00d7b1bf8c3ca7d5d0d8edbbd91..eb2bdc25ecec596a8f89abb80856b8d6e7be70a4 100644
--- a/metadata/report/consul/report.go
+++ b/metadata/report/consul/report.go
@@ -34,8 +34,9 @@ var (
 )
 
 func init() {
+	mf := &consulMetadataReportFactory{}
 	extension.SetMetadataReportFactory("consul", func() factory.MetadataReportFactory {
-		return &consulMetadataReportFactory{}
+		return mf
 	})
 }
 
@@ -77,13 +78,9 @@ func (m *consulMetadataReport) RemoveServiceMetadata(metadataIdentifier *identif
 func (m *consulMetadataReport) GetExportedURLs(metadataIdentifier *identifier.ServiceMetadataIdentifier) ([]string, error) {
 	k := metadataIdentifier.GetIdentifierKey()
 	kv, _, err := m.client.KV().Get(k, nil)
-	if err != nil {
+	if err != nil || kv == nil {
 		return emptyStrSlice, err
 	}
-
-	if kv == nil {
-		return emptyStrSlice, nil
-	}
 	return []string{string(kv.Value)}, nil
 }
 
@@ -98,13 +95,9 @@ func (m *consulMetadataReport) SaveSubscribedData(subscriberMetadataIdentifier *
 func (m *consulMetadataReport) GetSubscribedURLs(subscriberMetadataIdentifier *identifier.SubscriberMetadataIdentifier) ([]string, error) {
 	k := subscriberMetadataIdentifier.GetIdentifierKey()
 	kv, _, err := m.client.KV().Get(k, nil)
-	if err != nil {
+	if err != nil || kv == nil {
 		return emptyStrSlice, err
 	}
-
-	if kv == nil {
-		return emptyStrSlice, nil
-	}
 	return []string{string(kv.Value)}, nil
 }
 
@@ -112,19 +105,16 @@ func (m *consulMetadataReport) GetSubscribedURLs(subscriberMetadataIdentifier *i
 func (m *consulMetadataReport) GetServiceDefinition(metadataIdentifier *identifier.MetadataIdentifier) (string, error) {
 	k := metadataIdentifier.GetIdentifierKey()
 	kv, _, err := m.client.KV().Get(k, nil)
-	if err != nil {
+	if err != nil || kv == nil {
 		return "", err
 	}
-
-	if kv == nil {
-		return "", nil
-	}
 	return string(kv.Value), nil
 }
 
 type consulMetadataReportFactory struct {
 }
 
+// nolint
 func (mf *consulMetadataReportFactory) CreateMetadataReport(url *common.URL) report.MetadataReport {
 	config := &consul.Config{Address: url.Location}
 	client, err := consul.NewClient(config)
diff --git a/metadata/report/nacos/report.go b/metadata/report/nacos/report.go
index 988ea128388d6d81d2c110696e589ee4acabd8dd..d69913bd8fbb04da2d50770c1196917cb1efdaa5 100644
--- a/metadata/report/nacos/report.go
+++ b/metadata/report/nacos/report.go
@@ -38,8 +38,9 @@ import (
 )
 
 func init() {
+	mf := &nacosMetadataReportFactory{}
 	extension.SetMetadataReportFactory("nacos", func() factory.MetadataReportFactory {
-		return &nacosMetadataReportFactory{}
+		return mf
 	})
 }
 
@@ -148,18 +149,16 @@ func (n *nacosMetadataReport) getConfigAsArray(param vo.ConfigParam) ([]string,
 	res := make([]string, 0, 1)
 
 	cfg, err := n.getConfig(param)
-	if err != nil {
+	if err != nil || len(cfg) == 0 {
 		return res, err
 	}
-	if len(cfg) == 0 {
-		return res, nil
-	}
 
 	decodeCfg, err := url.QueryUnescape(cfg)
 	if err != nil {
 		logger.Errorf("The config is invalid: %s", cfg)
 		return res, err
 	}
+
 	res = append(res, decodeCfg)
 	return res, nil
 }
@@ -177,6 +176,7 @@ func (n *nacosMetadataReport) getConfig(param vo.ConfigParam) (string, error) {
 type nacosMetadataReportFactory struct {
 }
 
+// nolint
 func (n *nacosMetadataReportFactory) CreateMetadataReport(url *common.URL) report.MetadataReport {
 	client, err := nacos.NewNacosConfigClient(url)
 	if err != nil {
diff --git a/metadata/report/zookeeper/report.go b/metadata/report/zookeeper/report.go
index 58c4791c2b558e6562368a93bc88c9b743699659..8f46bb023054ec27ca0dbff2c249dc0135af07cd 100644
--- a/metadata/report/zookeeper/report.go
+++ b/metadata/report/zookeeper/report.go
@@ -37,8 +37,9 @@ var (
 )
 
 func init() {
+	mf := &zookeeperMetadataReportFactory{}
 	extension.SetMetadataReportFactory("zookeeper", func() factory.MetadataReportFactory {
-		return &zookeeperMetadataReportFactory{}
+		return mf
 	})
 }
 
@@ -77,13 +78,9 @@ func (m *zookeeperMetadataReport) RemoveServiceMetadata(metadataIdentifier *iden
 func (m *zookeeperMetadataReport) GetExportedURLs(metadataIdentifier *identifier.ServiceMetadataIdentifier) ([]string, error) {
 	k := m.rootDir + metadataIdentifier.GetFilePathKey()
 	v, _, err := m.client.GetContent(k)
-	if err != nil {
+	if err != nil || len(v) == 0 {
 		return emptyStrSlice, err
 	}
-
-	if len(v) == 0 {
-		return emptyStrSlice, nil
-	}
 	return []string{string(v)}, nil
 }
 
@@ -97,13 +94,9 @@ func (m *zookeeperMetadataReport) SaveSubscribedData(subscriberMetadataIdentifie
 func (m *zookeeperMetadataReport) GetSubscribedURLs(subscriberMetadataIdentifier *identifier.SubscriberMetadataIdentifier) ([]string, error) {
 	k := m.rootDir + subscriberMetadataIdentifier.GetFilePathKey()
 	v, _, err := m.client.GetContent(k)
-	if err != nil {
+	if err != nil || len(v) == 0 {
 		return emptyStrSlice, err
 	}
-
-	if len(v) == 0 {
-		return emptyStrSlice, nil
-	}
 	return []string{string(v)}, nil
 }
 
@@ -111,15 +104,13 @@ func (m *zookeeperMetadataReport) GetSubscribedURLs(subscriberMetadataIdentifier
 func (m *zookeeperMetadataReport) GetServiceDefinition(metadataIdentifier *identifier.MetadataIdentifier) (string, error) {
 	k := m.rootDir + metadataIdentifier.GetFilePathKey()
 	v, _, err := m.client.GetContent(k)
-	if err != nil {
-		return "", err
-	}
-	return string(v), nil
+	return string(v), err
 }
 
 type zookeeperMetadataReportFactory struct {
 }
 
+// nolint
 func (mf *zookeeperMetadataReportFactory) CreateMetadataReport(url *common.URL) report.MetadataReport {
 	client, err := zookeeper.NewZookeeperClient(
 		"zookeeperMetadataReport",