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

albumenj pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new 94110c0  Fix Metadata Service Info param filter not work (#8402)
94110c0 is described below

commit 94110c0e65f685af0e88b07f9587bca03b64cf9b
Author: Albumen Kevin <[email protected]>
AuthorDate: Tue Aug 3 11:23:47 2021 +0800

    Fix Metadata Service Info param filter not work (#8402)
---
 .../main/java/org/apache/dubbo/metadata/MetadataInfo.java    | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
index 17012a7..6849b87 100644
--- 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
+++ 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java
@@ -221,6 +221,9 @@ public class MetadataInfo implements Serializable {
 
         private transient URL url;
 
+        private final static String[] KEYS_TO_REMOVE = {MONITOR_KEY, 
BIND_IP_KEY, BIND_PORT_KEY, QOS_ENABLE,
+            QOS_HOST, QOS_PORT, ACCEPT_FOREIGN_IP, VALIDATION_KEY, INTERFACES, 
PID_KEY, TIMESTAMP_KEY};
+
         public ServiceInfo() {
         }
 
@@ -231,11 +234,10 @@ public class MetadataInfo implements Serializable {
             Map<String, String> params = new HashMap<>();
             List<MetadataParamsFilter> filters = 
loader.getActivateExtension(url, "params-filter");
             if (filters.size() == 0) {
-                params.putAll(
-                        url.removeParameters(
-                                MONITOR_KEY, BIND_IP_KEY, BIND_PORT_KEY, 
QOS_ENABLE,
-                                QOS_HOST, QOS_PORT, ACCEPT_FOREIGN_IP, 
VALIDATION_KEY, INTERFACES, PID_KEY, TIMESTAMP_KEY)
-                                .getParameters());
+                params.putAll(url.getParameters());
+                for (String key : KEYS_TO_REMOVE) {
+                    params.remove(key);
+                }
             }
             for (MetadataParamsFilter filter : filters) {
                 String[] paramsIncluded = filter.serviceParamsIncluded();

Reply via email to