From c1c9aa80f51cf1aa2b50989014387c2151bbd653 Mon Sep 17 00:00:00 2001 From: "ken.lj" Date: Tue, 10 May 2022 15:59:35 +0800 Subject: [PATCH] Add 'timestamp' as the default key of the instance url (#10022) --- .../apache/dubbo/metadata/DefaultMetadataParamsFilter.java | 4 ++-- .../src/main/java/org/apache/dubbo/metadata/MetadataInfo.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/DefaultMetadataParamsFilter.java b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/DefaultMetadataParamsFilter.java index aa16b51e56f..7687b04026e 100644 --- a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/DefaultMetadataParamsFilter.java +++ b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/DefaultMetadataParamsFilter.java @@ -37,9 +37,9 @@ public class DefaultMetadataParamsFilter implements MetadataParamsFilter { private final String[] includedInstanceParams; public DefaultMetadataParamsFilter() { - this.includedInstanceParams = new String[]{HEARTBEAT_TIMEOUT_KEY}; + this.includedInstanceParams = new String[]{HEARTBEAT_TIMEOUT_KEY, TIMESTAMP_KEY}; this.excludedServiceParams = new String[]{MONITOR_KEY, BIND_IP_KEY, BIND_PORT_KEY, QOS_ENABLE, - QOS_HOST, QOS_PORT, ACCEPT_FOREIGN_IP, VALIDATION_KEY, INTERFACES, PID_KEY, TIMESTAMP_KEY}; + QOS_HOST, QOS_PORT, ACCEPT_FOREIGN_IP, VALIDATION_KEY, INTERFACES, PID_KEY, TIMESTAMP_KEY, HEARTBEAT_TIMEOUT_KEY}; } @Override 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 dc7c25bbf8e..443ac497d31 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 @@ -47,6 +47,7 @@ import static org.apache.dubbo.common.constants.CommonConstants.DOT_SEPARATOR; import static org.apache.dubbo.common.constants.CommonConstants.GROUP_CHAR_SEPARATOR; import static org.apache.dubbo.common.constants.CommonConstants.METHODS_KEY; +import static org.apache.dubbo.common.constants.CommonConstants.TIMESTAMP_KEY; import static org.apache.dubbo.metadata.RevisionResolver.EMPTY_REVISION; public class MetadataInfo implements Serializable { @@ -394,7 +395,7 @@ private void extractInstanceParams(URL url, List filters) tmpInstanceParams.forEach((key, value) -> { String oldValue = instanceParams.put(key, value); - if (oldValue != null && !oldValue.equals(value)) { + if (!TIMESTAMP_KEY.equals(key) && oldValue != null && !oldValue.equals(value)) { throw new IllegalStateException(String.format("Inconsistent instance metadata found in different services: %s, %s", oldValue, value)); } });