This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.1 by this push:
new b319fce427 3.1-Error code is managed with constants (#10771) (#10869)
b319fce427 is described below
commit b319fce427b70b642b98e7d50b91e5ac377f1f8c
Author: cnjxzhao <[email protected]>
AuthorDate: Thu Nov 3 07:34:30 2022 +0800
3.1-Error code is managed with constants (#10771) (#10869)
---
.../common/constants/LoggerCodeConstants.java | 2 ++
.../dubbo/registry/ListenerRegistryWrapper.java | 4 ++-
.../apache/dubbo/registry/RegistryNotifier.java | 3 ++-
.../registry/client/AbstractServiceDiscovery.java | 12 +++++----
.../registry/client/ServiceDiscoveryRegistry.java | 5 ++--
.../client/ServiceDiscoveryRegistryDirectory.java | 22 ++++++++--------
.../listener/ServiceInstancesChangedListener.java | 13 +++++-----
.../client/metadata/MetadataServiceDelegation.java | 5 ++--
.../metadata/MetadataServiceNameMapping.java | 6 +++--
.../registry/client/metadata/MetadataUtils.java | 12 +++++----
.../DefaultMigrationAddressComparator.java | 4 ++-
.../client/migration/MigrationInvoker.java | 9 ++++---
.../client/migration/MigrationRuleHandler.java | 11 +++++---
.../client/migration/MigrationRuleListener.java | 30 ++++++++++++----------
.../registry/integration/RegistryDirectory.java | 14 +++++-----
.../registry/integration/RegistryProtocol.java | 14 +++++-----
.../dubbo/registry/support/AbstractRegistry.java | 7 ++---
.../dubbo/registry/support/FailbackRegistry.java | 26 ++++++++++---------
.../dubbo/registry/support/RegistryManager.java | 7 ++---
.../apache/dubbo/registry/nacos/NacosRegistry.java | 2 +-
20 files changed, 120 insertions(+), 88 deletions(-)
diff --git
a/dubbo-common/src/main/java/org/apache/dubbo/common/constants/LoggerCodeConstants.java
b/dubbo-common/src/main/java/org/apache/dubbo/common/constants/LoggerCodeConstants.java
index 1a6bf2bcab..4d8a6120b2 100644
---
a/dubbo-common/src/main/java/org/apache/dubbo/common/constants/LoggerCodeConstants.java
+++
b/dubbo-common/src/main/java/org/apache/dubbo/common/constants/LoggerCodeConstants.java
@@ -152,6 +152,8 @@ public interface LoggerCodeConstants {
String REGISTRY_SOCKET_EXCEPTION = "1-38";
+ String REGISTRY_FAILED_LOAD_METADATA = "1-39";
+
// cluster module
String CLUSTER_FAILED_SITE_SELECTION = "2-1";
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/ListenerRegistryWrapper.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/ListenerRegistryWrapper.java
index c9cdc67773..540e93f394 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/ListenerRegistryWrapper.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/ListenerRegistryWrapper.java
@@ -26,6 +26,8 @@ import org.apache.dubbo.common.utils.UrlUtils;
import java.util.List;
import java.util.function.Consumer;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
+
public class ListenerRegistryWrapper implements Registry {
private static final ErrorTypeAwareLogger logger =
LoggerFactory.getErrorTypeAwareLogger(ListenerRegistryWrapper.class);
@@ -123,7 +125,7 @@ public class ListenerRegistryWrapper implements Registry {
try {
consumer.accept(listener);
} catch (RuntimeException t) {
- logger.error(t.getMessage(), t);
+ logger.error(REGISTRY_UNEXPECTED_EXCEPTION, "", "",
t.getMessage(), t);
exception = t;
}
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/RegistryNotifier.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/RegistryNotifier.java
index 452f919a03..168368690a 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/RegistryNotifier.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/RegistryNotifier.java
@@ -27,6 +27,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import static
org.apache.dubbo.common.constants.CommonConstants.DEFAULT_DELAY_EXECUTE_TIMES;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_NOTIFY_EVENT;
public abstract class RegistryNotifier {
@@ -111,7 +112,7 @@ public abstract class RegistryNotifier {
}
}
} catch (Throwable t) {
- logger.error("Error occurred when notify directory. ", t);
+ logger.error(REGISTRY_FAILED_NOTIFY_EVENT, "", "", "Error
occurred when notify directory. ", t);
}
}
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java
index 0ccaa13043..fb6e8cb6d8 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/AbstractServiceDiscovery.java
@@ -40,6 +40,8 @@ import java.util.Set;
import static
org.apache.dubbo.common.constants.CommonConstants.DEFAULT_METADATA_STORAGE_TYPE;
import static
org.apache.dubbo.common.constants.CommonConstants.REGISTRY_LOCAL_FILE_CACHE_ENABLED;
import static
org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_FETCH_INSTANCE;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_LOAD_METADATA;
import static
org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER_KEY;
import static org.apache.dubbo.metadata.RevisionResolver.EMPTY_REVISION;
import static
org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.EXPORTED_SERVICES_REVISION_PROPERTY_NAME;
@@ -96,7 +98,7 @@ public abstract class AbstractServiceDiscovery implements
ServiceDiscovery {
}
this.serviceInstance = createServiceInstance(this.metadataInfo);
if (!isValidInstance(this.serviceInstance)) {
- logger.warn("No valid instance found, stop registering instance
address to registry.");
+ logger.warn(REGISTRY_FAILED_FETCH_INSTANCE, "", "", "No valid
instance found, stop registering instance address to registry.");
return;
}
@@ -195,7 +197,7 @@ public abstract class AbstractServiceDiscovery implements
ServiceDiscovery {
}
if (metadata == MetadataInfo.EMPTY) {
- logger.error("Failed to get metadata for revision after 3
retries, revision=" + revision);
+ logger.error(REGISTRY_FAILED_LOAD_METADATA, "", "", "Failed to
get metadata for revision after 3 retries, revision=" + revision);
} else {
metaCacheManager.put(revision, metadata);
}
@@ -205,7 +207,7 @@ public abstract class AbstractServiceDiscovery implements
ServiceDiscovery {
@Override
public MetadataInfo getRemoteMetadata(String revision) {
- return metaCacheManager.get(revision);
+ return metaCacheManager.get(revision);
}
@Override
@@ -242,7 +244,7 @@ public abstract class AbstractServiceDiscovery implements
ServiceDiscovery {
@Override
public List<URL> lookup(URL url) {
- throw new UnsupportedOperationException("Service discovery
implementation does not support lookup of url list.");
+ throw new UnsupportedOperationException("Service discovery
implementation does not support lookup of url list.");
}
protected void doUpdate(ServiceInstance serviceInstance) throws
RuntimeException {
@@ -310,7 +312,7 @@ public abstract class AbstractServiceDiscovery implements
ServiceDiscovery {
}
StringBuilder stringBuilder = new StringBuilder(128);
Optional<ApplicationConfig> application =
applicationModel.getApplicationConfigManager().getApplication();
- if(application.isPresent()) {
+ if (application.isPresent()) {
stringBuilder.append(application.get().getName());
stringBuilder.append(".");
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
index 098f6453a5..81c138d6fa 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
@@ -41,6 +41,7 @@ import java.util.concurrent.locks.ReentrantLock;
import static org.apache.dubbo.common.constants.CommonConstants.CHECK_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.INTERFACE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER_SIDE;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
import static
org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER_KEY;
import static
org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_TYPE_KEY;
import static
org.apache.dubbo.common.constants.RegistryConstants.SERVICE_REGISTRY_TYPE;
@@ -202,7 +203,7 @@ public class ServiceDiscoveryRegistry extends
FailbackRegistry {
subscribedServices =
serviceNameMapping.getAndListen(this.getUrl(), url, mappingListener);
mappingListeners.put(url.getProtocolServiceKey(),
mappingListener);
} catch (Exception e) {
- logger.warn("Cannot find app mapping for service " +
url.getServiceInterface() + ", will not migrate.", e);
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Cannot
find app mapping for service " + url.getServiceInterface() + ", will not
migrate.", e);
}
if (CollectionUtils.isEmpty(subscribedServices)) {
@@ -365,7 +366,7 @@ public class ServiceDiscoveryRegistry extends
FailbackRegistry {
logger.info("Received mapping notification from meta server, " +
event);
if (stopped) {
- logger.warn("Listener has been stopped, ignore mapping
notification, check why listener is not removed.");
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Listener
has been stopped, ignore mapping notification, check why listener is not
removed.");
return;
}
Set<String> newApps = event.getApps();
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java
index a3e68cdbb6..fe98e100f4 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java
@@ -61,6 +61,8 @@ import java.util.stream.Collectors;
import static org.apache.dubbo.common.constants.CommonConstants.DISABLED_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.ENABLED_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.PROTOCOL_KEY;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.PROTOCOL_FAILED_DESTROY_INVOKER;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.PROTOCOL_FAILED_REFER_INVOKER;
import static
org.apache.dubbo.common.constants.LoggerCodeConstants.PROTOCOL_UNSUPPORTED;
import static
org.apache.dubbo.common.constants.RegistryConstants.DEFAULT_HASHMAP_LOAD_FACTOR;
import static
org.apache.dubbo.common.constants.RegistryConstants.EMPTY_PROTOCOL;
@@ -229,14 +231,14 @@ public class ServiceDiscoveryRegistryDirectory<T> extends
DynamicDirectory<T> {
this.originalUrls = invokerUrls;
if (invokerUrls.size() == 1 &&
EMPTY_PROTOCOL.equals(invokerUrls.get(0).getProtocol())) {
- logger.warn("Received url with EMPTY protocol, will clear all
available addresses.");
+ logger.warn(PROTOCOL_UNSUPPORTED, "", "", "Received url with EMPTY
protocol, will clear all available addresses.");
this.forbidden = true; // Forbid to access
routerChain.setInvokers(BitList.emptyList());
destroyAllInvokers(); // Close all invokers
} else {
this.forbidden = false; // Allow accessing
if (CollectionUtils.isEmpty(invokerUrls)) {
- logger.warn("Received empty url list, will ignore for
protection purpose.");
+ logger.warn(PROTOCOL_UNSUPPORTED, "", "", "Received empty url
list, will ignore for protection purpose.");
return;
}
@@ -253,7 +255,7 @@ public class ServiceDiscoveryRegistryDirectory<T> extends
DynamicDirectory<T> {
logger.info("Refreshed invoker size " + newUrlInvokerMap.size());
if (CollectionUtils.isEmptyMap(newUrlInvokerMap)) {
- logger.error(new IllegalStateException("Cannot create invokers
from url address list (total " + invokerUrls.size() + ")"));
+ logger.error(PROTOCOL_UNSUPPORTED, "", "", "Unsupported
protocol.", new IllegalStateException("Cannot create invokers from url address
list (total " + invokerUrls.size() + ")"));
return;
}
List<Invoker<T>> newInvokers = Collections.unmodifiableList(new
ArrayList<>(newUrlInvokerMap.values()));
@@ -266,7 +268,7 @@ public class ServiceDiscoveryRegistryDirectory<T> extends
DynamicDirectory<T> {
try {
destroyUnusedInvokers(oldUrlInvokerMap, newUrlInvokerMap);
// Close the unused Invoker
} catch (Exception e) {
- logger.warn("destroyUnusedInvokers error. ", e);
+ logger.warn(PROTOCOL_FAILED_DESTROY_INVOKER, "", "",
"destroyUnusedInvokers error. ", e);
}
}
}
@@ -300,9 +302,9 @@ public class ServiceDiscoveryRegistryDirectory<T> extends
DynamicDirectory<T> {
logger.error(PROTOCOL_UNSUPPORTED, "protocol extension does
not installed", "", "Unsupported protocol.",
new IllegalStateException("Unsupported protocol " +
instanceAddressURL.getProtocol() +
- " in notified url: " + instanceAddressURL + " from
registry " + getUrl().getAddress() +
- " to consumer " + NetUtils.getLocalHost() + ", supported
protocol: " +
-
getUrl().getOrDefaultFrameworkModel().getExtensionLoader(Protocol.class).getSupportedExtensions()));
+ " in notified url: " + instanceAddressURL + " from
registry " + getUrl().getAddress() +
+ " to consumer " + NetUtils.getLocalHost() + ",
supported protocol: " +
+
getUrl().getOrDefaultFrameworkModel().getExtensionLoader(Protocol.class).getSupportedExtensions()));
continue;
}
@@ -351,7 +353,7 @@ public class ServiceDiscoveryRegistryDirectory<T> extends
DynamicDirectory<T> {
}
}
} catch (Throwable t) {
- logger.error("Failed to refer invoker for interface:"
+ serviceType + ",url:(" + instanceAddressURL + ")" + t.getMessage(), t);
+ logger.error(PROTOCOL_FAILED_REFER_INVOKER, "", "",
"Failed to refer invoker for interface:" + serviceType + ",url:(" +
instanceAddressURL + ")" + t.getMessage(), t);
}
if (invoker != null) { // Put new invoker in cache
newUrlInvokerMap.put(protocolServiceKeyWithAddress,
invoker);
@@ -425,7 +427,7 @@ public class ServiceDiscoveryRegistryDirectory<T> extends
DynamicDirectory<T> {
try {
invoker.destroyAll();
} catch (Throwable t) {
- logger.warn("Failed to destroy service " + serviceKey + "
to provider " + invoker.getUrl(), t);
+ logger.warn(PROTOCOL_FAILED_DESTROY_INVOKER, "", "",
"Failed to destroy service " + serviceKey + " to provider " + invoker.getUrl(),
t);
}
}
localUrlInvokerMap.clear();
@@ -461,7 +463,7 @@ public class ServiceDiscoveryRegistryDirectory<T> extends
DynamicDirectory<T> {
logger.debug("destroy invoker[" + invoker.getUrl() +
"] success. ");
}
} catch (Exception e) {
- logger.warn("destroy invoker[" + invoker.getUrl() + "]
failed. " + e.getMessage(), e);
+ logger.warn(PROTOCOL_FAILED_DESTROY_INVOKER, "", "",
"destroy invoker[" + invoker.getUrl() + "]failed." + e.getMessage(), e);
}
}
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java
index 8cb30728a3..a28387ce6b 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java
@@ -56,6 +56,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import static org.apache.dubbo.common.constants.CommonConstants.PROTOCOL_KEY;
import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_REFRESH_ADDRESS;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
import static
org.apache.dubbo.common.constants.RegistryConstants.EMPTY_PROTOCOL;
import static
org.apache.dubbo.common.constants.RegistryConstants.ENABLE_EMPTY_PROTECTION_KEY;
import static org.apache.dubbo.metadata.RevisionResolver.EMPTY_REVISION;
@@ -178,9 +179,9 @@ public class ServiceInstancesChangedListener {
try {
retryFuture = scheduler.schedule(new
AddressRefreshRetryTask(retryPermission, event.getServiceName()), 10_000L,
TimeUnit.MILLISECONDS);
} catch (Exception e) {
- logger.error("Error submitting async retry task.");
+ logger.error(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Error
submitting async retry task.");
}
- logger.warn("Address refresh try task submitted");
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Address
refresh try task submitted");
}
// return if all metadata is empty, this notification will not
take effect.
@@ -290,12 +291,12 @@ public class ServiceInstancesChangedListener {
protected boolean isRetryAndExpired(ServiceInstancesChangedEvent event) {
if (event instanceof RetryServiceInstancesChangedEvent) {
RetryServiceInstancesChangedEvent retryEvent =
(RetryServiceInstancesChangedEvent) event;
- logger.warn("Received address refresh retry event, " +
retryEvent.getFailureRecordTime());
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Received
address refresh retry event, " + retryEvent.getFailureRecordTime());
if (retryEvent.getFailureRecordTime() < lastRefreshTime &&
!hasEmptyMetadata) {
- logger.warn("Ignore retry event, event time: " +
retryEvent.getFailureRecordTime() + ", last refresh time: " + lastRefreshTime);
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Ignore
retry event, event time: " + retryEvent.getFailureRecordTime() + ", last
refresh time: " + lastRefreshTime);
return true;
}
- logger.warn("Retrying address notification...");
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Retrying
address notification...");
}
return false;
}
@@ -339,7 +340,7 @@ public class ServiceInstancesChangedListener {
if (emptyMetadataNum > 0) {
builder.insert(0, emptyMetadataNum + "/" +
revisionToInstances.size() + " revisions failed to get metadata from remote: ");
- logger.error(builder.toString());
+ logger.error(REGISTRY_UNEXPECTED_EXCEPTION, "", "",
builder.toString());
} else {
builder.insert(0, revisionToInstances.size() + " unique working
revisions: ");
logger.info(builder.toString());
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceDelegation.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceDelegation.java
index 5cd7556450..6047632919 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceDelegation.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceDelegation.java
@@ -44,6 +44,7 @@ import static java.util.Collections.emptySortedSet;
import static java.util.Collections.unmodifiableSortedSet;
import static org.apache.dubbo.common.URL.buildKey;
import static org.apache.dubbo.common.constants.CommonConstants.PROTOCOL_KEY;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_LOAD_METADATA;
import static org.apache.dubbo.common.utils.CollectionUtils.isEmpty;
/**
@@ -137,7 +138,7 @@ public class MetadataServiceDelegation implements
MetadataService, Disposable {
return unmodifiableSortedSet(getServiceURLs(getAllServiceURLs(),
serviceKey, protocol));
}
- private Map<String, SortedSet<URL>> getAllServiceURLs () {
+ private Map<String, SortedSet<URL>> getAllServiceURLs() {
List<ServiceDiscovery> serviceDiscoveries =
registryManager.getServiceDiscoveries();
Map<String, SortedSet<URL>> allServiceURLs = new HashMap<>();
for (ServiceDiscovery sd : serviceDiscoveries) {
@@ -182,7 +183,7 @@ public class MetadataServiceDelegation implements
MetadataService, Disposable {
}
if (logger.isWarnEnabled()) {
- logger.warn("metadata not found for revision: " + revision);
+ logger.warn(REGISTRY_FAILED_LOAD_METADATA, "", "", "metadata not
found for revision: " + revision);
}
return null;
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMapping.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMapping.java
index d8cf5284e2..10f6fe1db3 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMapping.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMapping.java
@@ -37,6 +37,8 @@ import java.util.Set;
import static
org.apache.dubbo.common.constants.CommonConstants.COMMA_SEPARATOR;
import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_KEY;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_ADDRESS_INVALID;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
public class MetadataServiceNameMapping extends AbstractServiceNameMapping {
@@ -58,7 +60,7 @@ public class MetadataServiceNameMapping extends
AbstractServiceNameMapping {
@Override
public boolean map(URL url) {
if
(CollectionUtils.isEmpty(applicationModel.getApplicationConfigManager().getMetadataConfigs()))
{
- logger.warn("No valid metadata config center found for mapping
report.");
+ logger.warn(REGISTRY_ADDRESS_INVALID, "", "", "No valid metadata
config center found for mapping report.");
return false;
}
String serviceInterface = url.getServiceInterface();
@@ -99,7 +101,7 @@ public class MetadataServiceNameMapping extends
AbstractServiceNameMapping {
}
} catch (Exception e) {
result = false;
- logger.warn("Failed registering mapping to remote." +
metadataReport, e);
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Failed
registering mapping to remote." + metadataReport, e);
}
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java
index c5129b2f88..91bbdfbec6 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java
@@ -18,7 +18,7 @@ package org.apache.dubbo.registry.client.metadata;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.extension.ExtensionLoader;
-import org.apache.dubbo.common.logger.Logger;
+import org.apache.dubbo.common.logger.ErrorTypeAwareLogger;
import org.apache.dubbo.common.logger.LoggerFactory;
import org.apache.dubbo.common.utils.CollectionUtils;
import org.apache.dubbo.common.utils.StringUtils;
@@ -48,16 +48,18 @@ import static
org.apache.dubbo.common.constants.CommonConstants.CONSUMER_SIDE;
import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER_SIDE;
import static
org.apache.dubbo.common.constants.CommonConstants.PROXY_CLASS_REF;
import static
org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_CREATE_INSTANCE;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_LOAD_METADATA;
import static
org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER_KEY;
import static
org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.METADATA_SERVICE_URLS_PROPERTY_NAME;
public class MetadataUtils {
- public static final Logger logger =
LoggerFactory.getLogger(MetadataUtils.class);
+ public static final ErrorTypeAwareLogger logger =
LoggerFactory.getErrorTypeAwareLogger(MetadataUtils.class);
public static void publishServiceDefinition(URL url, ServiceDescriptor
serviceDescriptor, ApplicationModel applicationModel) {
if (getMetadataReports(applicationModel).size() == 0) {
String msg = "Remote Metadata Report Server is not provided or
unavailable, will stop registering service definition to remote center!";
- logger.warn(msg);
+ logger.warn(REGISTRY_FAILED_LOAD_METADATA, "", "", msg);
return;
}
@@ -104,7 +106,7 @@ public class MetadataUtils {
}
} catch (Exception e) {
//ignore error
- logger.error("publish service definition metadata error.", e);
+ logger.error(REGISTRY_FAILED_CREATE_INSTANCE, "", "", "publish
service definition metadata error.", e);
}
}
@@ -174,7 +176,7 @@ public class MetadataUtils {
}
}
} catch (Exception e) {
- logger.error("Failed to get app metadata for revision " + revision
+ " for type " + metadataType + " from instance " + instance.getAddress(), e);
+ logger.error(REGISTRY_FAILED_LOAD_METADATA, "", "", "Failed to get
app metadata for revision " + revision + " for type " + metadataType + " from
instance " + instance.getAddress(), e);
metadataInfo = null;
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/DefaultMigrationAddressComparator.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/DefaultMigrationAddressComparator.java
index 0c3d90a827..ca2cb524dd 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/DefaultMigrationAddressComparator.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/DefaultMigrationAddressComparator.java
@@ -29,6 +29,8 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.PROTOCOL_INCORRECT_PARAMETER_VALUES;
+
public class DefaultMigrationAddressComparator implements
MigrationAddressComparator {
private static final ErrorTypeAwareLogger logger =
LoggerFactory.getErrorTypeAwareLogger(DefaultMigrationAddressComparator.class);
private static final String MIGRATION_THRESHOLD =
"dubbo.application.migration.threshold";
@@ -73,7 +75,7 @@ public class DefaultMigrationAddressComparator implements
MigrationAddressCompar
try {
threshold = Float.parseFloat(rawThreshold);
} catch (Exception e) {
- logger.error("Invalid migration threshold " + rawThreshold);
+ logger.error(PROTOCOL_INCORRECT_PARAMETER_VALUES, "", "", "Invalid
migration threshold " + rawThreshold);
threshold = DEFAULT_THREAD;
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationInvoker.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationInvoker.java
index fc525e9f87..9fbe66fa0a 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationInvoker.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationInvoker.java
@@ -18,7 +18,7 @@ package org.apache.dubbo.registry.client.migration;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.constants.CommonConstants;
-import org.apache.dubbo.common.logger.Logger;
+import org.apache.dubbo.common.logger.ErrorTypeAwareLogger;
import org.apache.dubbo.common.logger.LoggerFactory;
import org.apache.dubbo.common.status.reporter.FrameworkStatusReportService;
import org.apache.dubbo.common.utils.CollectionUtils;
@@ -44,11 +44,12 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.TimeUnit;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_NOTIFY_EVENT;
import static
org.apache.dubbo.registry.client.migration.model.MigrationStep.APPLICATION_FIRST;
import static org.apache.dubbo.rpc.cluster.Constants.REFER_KEY;
public class MigrationInvoker<T> implements MigrationClusterInvoker<T> {
- private Logger logger = LoggerFactory.getLogger(MigrationInvoker.class);
+ private ErrorTypeAwareLogger logger =
LoggerFactory.getErrorTypeAwareLogger(MigrationInvoker.class);
private URL url;
private URL consumerUrl;
@@ -255,7 +256,7 @@ public class MigrationInvoker<T> implements
MigrationClusterInvoker<T> {
try {
Thread.sleep(delay * 1000L);
} catch (InterruptedException e) {
- logger.error("Interrupted when waiting for address notify!" +
e);
+ logger.error(REGISTRY_FAILED_NOTIFY_EVENT, "", "",
"Interrupted when waiting for address notify!" + e);
}
} else {
// do not wait address notify by default
@@ -264,7 +265,7 @@ public class MigrationInvoker<T> implements
MigrationClusterInvoker<T> {
try {
latch.await(delay, TimeUnit.SECONDS);
} catch (InterruptedException e) {
- logger.error("Interrupted when waiting for address notify!" + e);
+ logger.error(REGISTRY_FAILED_NOTIFY_EVENT, "", "", "Interrupted
when waiting for address notify!" + e);
}
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationRuleHandler.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationRuleHandler.java
index 6ce0f270e5..9f923f29f9 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationRuleHandler.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationRuleHandler.java
@@ -23,6 +23,9 @@ import
org.apache.dubbo.common.status.reporter.FrameworkStatusReportService;
import org.apache.dubbo.registry.client.migration.model.MigrationRule;
import org.apache.dubbo.registry.client.migration.model.MigrationStep;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_NO_PARAMETERS_URL;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
+
public class MigrationRuleHandler<T> {
public static final String DUBBO_SERVICEDISCOVERY_MIGRATION =
"dubbo.application.migration.step";
private static final ErrorTypeAwareLogger logger =
LoggerFactory.getErrorTypeAwareLogger(MigrationRuleHandler.class);
@@ -51,7 +54,7 @@ public class MigrationRuleHandler<T> {
step = rule.getStep(consumerURL);
threshold = rule.getThreshold(consumerURL);
} catch (Exception e) {
- logger.error("Failed to get step and threshold info from rule: " +
rule, e);
+ logger.error(REGISTRY_NO_PARAMETERS_URL, "", "", "Failed to get
step and threshold info from rule: " + rule, e);
}
if (refreshInvoker(step, threshold, rule)) {
@@ -86,8 +89,8 @@ public class MigrationRuleHandler<T> {
report(step, originStep, "true");
} else {
// migrate failed, do not save new step and rule
- logger.warn("Migrate to " + step + " mode failed. Probably not
satisfy the threshold you set "
- + threshold + ". Please try re-publish configuration
if you still after check.");
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Migrate to
" + step + " mode failed. Probably not satisfy the threshold you set "
+ + threshold + ". Please try re-publish configuration if
you still after check.");
report(step, originStep, "false");
}
@@ -104,7 +107,7 @@ public class MigrationRuleHandler<T> {
if (reportService.hasReporter()) {
reportService.reportMigrationStepStatus(
reportService.createMigrationStepReport(consumerURL.getServiceInterface(),
consumerURL.getVersion(),
- consumerURL.getGroup(),
String.valueOf(originStep), String.valueOf(step), success));
+ consumerURL.getGroup(), String.valueOf(originStep),
String.valueOf(step), success));
}
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationRuleListener.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationRuleListener.java
index 9623e8ae7e..946eea7bb5 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationRuleListener.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationRuleListener.java
@@ -49,14 +49,18 @@ import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.COMMON_THREAD_INTERRUPTED_EXCEPTION;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.PROTOCOL_INCORRECT_PARAMETER_VALUES;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_EMPTY_ADDRESS;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
import static org.apache.dubbo.common.constants.RegistryConstants.INIT;
/**
* Listens to {@MigrationRule} from Config Center.
- *
+ * <p>
* - Migration rule is of consumer application scope.
* - Listener is shared among all invokers (interfaces), it keeps the relation
between interface and handler.
- *
+ * <p>
* There are two execution points:
* - Refer, invoker behaviour is determined with default rule.
* - Rule change, invoker behaviour is changed according to the newly received
rule.
@@ -104,7 +108,7 @@ public class MigrationRuleListener implements
RegistryProtocolListener, Configur
setRawRule(rawRule);
} else {
if (logger.isWarnEnabled()) {
- logger.warn("Using default configuration rule because config
center is not configured!");
+ logger.warn(REGISTRY_EMPTY_ADDRESS, "", "", "Using default
configuration rule because config center is not configured!");
}
setRawRule(INIT);
}
@@ -131,7 +135,7 @@ public class MigrationRuleListener implements
RegistryProtocolListener, Configur
try {
delay = Integer.parseInt(delayStr);
} catch (Exception e) {
- logger.warn("Invalid migration delay param " + delayStr);
+ logger.warn(PROTOCOL_INCORRECT_PARAMETER_VALUES, "", "", "Invalid
migration delay param " + delayStr);
}
return delay;
}
@@ -142,12 +146,12 @@ public class MigrationRuleListener implements
RegistryProtocolListener, Configur
if (StringUtils.isEmpty(rawRule)) {
// fail back to startup status
rawRule = INIT;
- //logger.warn("Received empty migration rule, will ignore.");
+ //logger.warn(PROTOCOL_INCORRECT_PARAMETER_VALUES, "", "",
"Received empty migration rule, will ignore.");
}
try {
ruleQueue.put(rawRule);
} catch (InterruptedException e) {
- logger.error("Put rawRule to rule management queue failed.
rawRule: " + rawRule, e);
+ logger.error(COMMON_THREAD_INTERRUPTED_EXCEPTION, "", "", "Put
rawRule to rule management queue failed. rawRule: " + rawRule, e);
}
if (executorSubmit.compareAndSet(false, true)) {
@@ -160,7 +164,7 @@ public class MigrationRuleListener implements
RegistryProtocolListener, Configur
Thread.sleep(1000);
}
} catch (InterruptedException e) {
- logger.error("Poll Rule from config center failed.",
e);
+ logger.error(COMMON_THREAD_INTERRUPTED_EXCEPTION, "",
"", "Poll Rule from config center failed.", e);
}
if (StringUtils.isEmpty(rule)) {
continue;
@@ -179,10 +183,10 @@ public class MigrationRuleListener implements
RegistryProtocolListener, Configur
ExecutorService executorService =
Executors.newFixedThreadPool(100, new
NamedThreadFactory("Dubbo-Invoker-Migrate"));
List<Future<?>> migrationFutures = new
ArrayList<>(handlers.size());
handlers.forEach((_key, handler) -> {
- Future<?> future = executorService.submit(() ->
{
+ Future<?> future = executorService.submit(()
-> {
handler.doMigrate(this.rule);
});
- migrationFutures.add(future);
+ migrationFutures.add(future);
});
Throwable migrationException = null;
@@ -190,18 +194,18 @@ public class MigrationRuleListener implements
RegistryProtocolListener, Configur
try {
future.get();
} catch (InterruptedException ie) {
- logger.warn("Interrupted while waiting for
migration async task to finish.");
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION,
"", "", "Interrupted while waiting for migration async task to finish.");
} catch (ExecutionException ee) {
migrationException = ee.getCause();
}
}
if (migrationException != null) {
- logger.error("Migration async task failed.",
migrationException);
+ logger.error(REGISTRY_UNEXPECTED_EXCEPTION,
"", "", "Migration async task failed.", migrationException);
}
executorService.shutdown();
}
} catch (Throwable t) {
- logger.error("Error occurred when migration.", t);
+ logger.error(REGISTRY_UNEXPECTED_EXCEPTION, "", "",
"Error occurred when migration.", t);
}
}
});
@@ -222,7 +226,7 @@ public class MigrationRuleListener implements
RegistryProtocolListener, Configur
try {
tmpRule = MigrationRule.parse(rawRule);
} catch (Exception e) {
- logger.error("Failed to parse migration rule...", e);
+ logger.error(PROTOCOL_INCORRECT_PARAMETER_VALUES, "", "",
"Failed to parse migration rule...", e);
}
}
return tmpRule;
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
index 25389e35e4..53fd6840fe 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
@@ -290,7 +290,7 @@ public class RegistryDirectory<T> extends
DynamicDirectory<T> {
try {
destroyUnusedInvokers(oldUrlInvokerMap, newUrlInvokerMap); //
Close the unused Invoker
} catch (Exception e) {
- logger.warn("destroyUnusedInvokers error. ", e);
+ logger.warn(REGISTRY_FAILED_DESTROY_SERVICE, "", "",
"destroyUnusedInvokers error. ", e);
}
// notify invokers refreshed
@@ -346,7 +346,7 @@ public class RegistryDirectory<T> extends
DynamicDirectory<T> {
routers.add(router);
}
} catch (Throwable t) {
- logger.error("convert router url to router error, url: " +
url, t);
+ logger.error(PROXY_FAILED_CONVERT_URL, "", "", "convert router
url to router error, url:" + url, t);
}
}
@@ -441,9 +441,9 @@ public class RegistryDirectory<T> extends
DynamicDirectory<T> {
logger.error(PROTOCOL_UNSUPPORTED, "protocol extension does not
installed", "", "Unsupported protocol.",
new IllegalStateException("Unsupported protocol " +
providerUrl.getProtocol() +
- " in notified url: " + providerUrl + " from registry " +
getUrl().getAddress() +
- " to consumer " + NetUtils.getLocalHost() + ", supported
protocol: " +
-
getUrl().getOrDefaultFrameworkModel().getExtensionLoader(Protocol.class).getSupportedExtensions()));
+ " in notified url: " + providerUrl + " from registry " +
getUrl().getAddress() +
+ " to consumer " + NetUtils.getLocalHost() + ", supported
protocol: " +
+
getUrl().getOrDefaultFrameworkModel().getExtensionLoader(Protocol.class).getSupportedExtensions()));
return false;
}
@@ -578,7 +578,7 @@ public class RegistryDirectory<T> extends
DynamicDirectory<T> {
logger.debug("destroy invoker[" + invoker.getUrl() +
"] success. ");
}
} catch (Exception e) {
- logger.warn("destroy invoker[" + invoker.getUrl() + "]
failed. " + e.getMessage(), e);
+ logger.warn(REGISTRY_FAILED_DESTROY_SERVICE, "", "",
"destroy invoker[" + invoker.getUrl() + "] failed. " + e.getMessage(), e);
}
}
}
@@ -605,7 +605,7 @@ public class RegistryDirectory<T> extends
DynamicDirectory<T> {
// 1-16 - Unsupported category in NotifyListener
logger.warn(REGISTRY_UNSUPPORTED_CATEGORY, "", "",
"Unsupported category " + category + " in notified url: " + url +
" from registry " +
- getUrl().getAddress() + " to consumer " + NetUtils.getLocalHost());
+ getUrl().getAddress() + " to consumer " +
NetUtils.getLocalHost());
return false;
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
index 05387f55a7..6a8449eac2 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
@@ -90,6 +90,8 @@ import static
org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.TIMEOUT_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.VERSION_KEY;
import static org.apache.dubbo.common.constants.FilterConstants.VALIDATION_KEY;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNSUPPORTED_CATEGORY;
import static org.apache.dubbo.common.constants.QosConstants.ACCEPT_FOREIGN_IP;
import static org.apache.dubbo.common.constants.QosConstants.QOS_ENABLE;
import static org.apache.dubbo.common.constants.QosConstants.QOS_HOST;
@@ -487,7 +489,7 @@ public class RegistryProtocol implements Protocol,
ScopeModelAware {
Map<String, Object> consumerAttribute = new
HashMap<>(url.getAttributes());
consumerAttribute.remove(REFER_KEY);
String p = isEmpty(parameters.get(PROTOCOL_KEY)) ? CONSUMER :
parameters.get(PROTOCOL_KEY);
- URL consumerUrl = new ServiceConfigURL (
+ URL consumerUrl = new ServiceConfigURL(
p,
null,
null,
@@ -570,7 +572,7 @@ public class RegistryProtocol implements Protocol,
ScopeModelAware {
public <T> void reRefer(ClusterInvoker<?> invoker, URL newSubscribeUrl) {
if (!(invoker instanceof MigrationClusterInvoker)) {
- logger.error("Only invoker type of MigrationClusterInvoker
supports reRefer, current invoker is " + invoker.getClass());
+ logger.error(REGISTRY_UNSUPPORTED_CATEGORY, "", "", "Only invoker
type of MigrationClusterInvoker supports reRefer, current invoker is " +
invoker.getClass());
return;
}
@@ -743,7 +745,7 @@ public class RegistryProtocol implements Protocol,
ScopeModelAware {
String key = getCacheKey(originInvoker);
ExporterChangeableWrapper<?> exporter = bounds.get(key);
if (exporter == null) {
- logger.warn(new IllegalStateException("error state, exporter
should not be null"));
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "error
state, exporter should not be null", new IllegalStateException("error state,
exporter should not be null"));
return;
}
//The current, may have been merged many times
@@ -890,7 +892,7 @@ public class RegistryProtocol implements Protocol,
ScopeModelAware {
try {
registry.unregister(registerUrl);
} catch (Throwable t) {
- logger.warn(t.getMessage(), t);
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "",
t.getMessage(), t);
}
try {
if (subscribeUrl != null) {
@@ -913,7 +915,7 @@ public class RegistryProtocol implements Protocol,
ScopeModelAware {
}
}
} catch (Throwable t) {
- logger.warn(t.getMessage(), t);
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "",
t.getMessage(), t);
}
//TODO wait for shutdown timeout is a bit strange
@@ -922,7 +924,7 @@ public class RegistryProtocol implements Protocol,
ScopeModelAware {
try {
exporter.unexport();
} catch (Throwable t) {
- logger.warn(t.getMessage(), t);
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "",
t.getMessage(), t);
}
}, timeout, TimeUnit.MILLISECONDS);
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java
index 01a3e3e356..5749da821e 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java
@@ -66,6 +66,7 @@ import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAI
import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_DESTROY_UNREGISTER_URL;
import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_READ_WRITE_CACHE_FILE;
import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_DELETE_LOCKFILE;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
import static org.apache.dubbo.common.constants.RegistryConstants.ACCEPTS_KEY;
import static
org.apache.dubbo.common.constants.RegistryConstants.DEFAULT_CATEGORY;
import static org.apache.dubbo.common.constants.RegistryConstants.DYNAMIC_KEY;
@@ -78,7 +79,7 @@ import static org.apache.dubbo.registry.Constants.USER_HOME;
/**
* <p>
* Provides a fail-safe registry service backed by cache file. The
consumer/provider can still find each other when registry center crashed.
- *
+ * <p>
* (SPI, Prototype, ThreadSafe)
*/
public abstract class AbstractRegistry implements Registry {
@@ -222,7 +223,7 @@ public abstract class AbstractRegistry implements Registry {
}
try (RandomAccessFile raf = new RandomAccessFile(lockfile, "rw");
- FileChannel channel = raf.getChannel()) {
+ FileChannel channel = raf.getChannel()) {
FileLock lock = channel.tryLock();
if (lock == null) {
@@ -565,7 +566,7 @@ public abstract class AbstractRegistry implements Registry {
registryCacheExecutor.schedule(() ->
doSaveProperties(version), DEFAULT_INTERVAL_SAVE_PROPERTIES,
TimeUnit.MILLISECONDS);
}
} catch (Throwable t) {
- logger.warn(t.getMessage(), t);
+ logger.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "", t.getMessage(),
t);
}
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/FailbackRegistry.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/FailbackRegistry.java
index d17c0dae35..fa906cf4ca 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/FailbackRegistry.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/FailbackRegistry.java
@@ -36,6 +36,8 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_NOTIFY_EVENT;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
import static
org.apache.dubbo.registry.Constants.DEFAULT_REGISTRY_RETRY_PERIOD;
import static org.apache.dubbo.registry.Constants.REGISTRY_RETRY_PERIOD_KEY;
@@ -208,8 +210,8 @@ public abstract class FailbackRegistry extends
AbstractRegistry {
// If the startup detection is opened, the Exception is thrown
directly.
boolean check = getUrl().getParameter(Constants.CHECK_KEY, true)
- && url.getParameter(Constants.CHECK_KEY, true)
- && (url.getPort() != 0);
+ && url.getParameter(Constants.CHECK_KEY, true)
+ && (url.getPort() != 0);
boolean skipFailback = t instanceof SkipFailbackWrapperException;
if (check || skipFailback) {
if (skipFailback) {
@@ -217,7 +219,7 @@ public abstract class FailbackRegistry extends
AbstractRegistry {
}
throw new IllegalStateException("Failed to register " + url +
" to registry " + getUrl().getAddress() + ", cause: " + t.getMessage(), t);
} else {
- logger.error("Failed to register " + url + ", waiting for
retry, cause: " + t.getMessage(), t);
+ logger.error(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Failed to
register " + url + ", waiting for retry, cause: " + t.getMessage(), t);
}
// Record a failed registration request to a failed list, retry
regularly
@@ -257,8 +259,8 @@ public abstract class FailbackRegistry extends
AbstractRegistry {
// If the startup detection is opened, the Exception is thrown
directly.
boolean check = getUrl().getParameter(Constants.CHECK_KEY, true)
- && url.getParameter(Constants.CHECK_KEY, true)
- && (url.getPort() != 0);
+ && url.getParameter(Constants.CHECK_KEY, true)
+ && (url.getPort() != 0);
boolean skipFailback = t instanceof SkipFailbackWrapperException;
if (check || skipFailback) {
if (skipFailback) {
@@ -266,7 +268,7 @@ public abstract class FailbackRegistry extends
AbstractRegistry {
}
throw new IllegalStateException("Failed to unregister " + url
+ " to registry " + getUrl().getAddress() + ", cause: " + t.getMessage(), t);
} else {
- logger.error("Failed to unregister " + url + ", waiting for
retry, cause: " + t.getMessage(), t);
+ logger.error(REGISTRY_UNEXPECTED_EXCEPTION, "", "", "Failed to
unregister " + url + ", waiting for retry, cause: " + t.getMessage(), t);
}
// Record a failed registration request to a failed list, retry
regularly
@@ -302,11 +304,11 @@ public abstract class FailbackRegistry extends
AbstractRegistry {
List<URL> urls = getCacheUrls(url);
if (CollectionUtils.isNotEmpty(urls)) {
notify(url, listener, urls);
- logger.error("Failed to subscribe " + url + ", Using cached
list: " + urls + " from cache file: " + getCacheFile().getName() + ", cause: "
+ t.getMessage(), t);
+ logger.error(REGISTRY_FAILED_NOTIFY_EVENT, "", "", "Failed to
subscribe " + url + ", Using cached list: " + urls + " from cache file: " +
getCacheFile().getName() + ", cause: " + t.getMessage(), t);
} else {
// If the startup detection is opened, the Exception is thrown
directly.
boolean check = getUrl().getParameter(Constants.CHECK_KEY,
true)
- && url.getParameter(Constants.CHECK_KEY, true);
+ && url.getParameter(Constants.CHECK_KEY, true);
boolean skipFailback = t instanceof
SkipFailbackWrapperException;
if (check || skipFailback) {
if (skipFailback) {
@@ -314,7 +316,7 @@ public abstract class FailbackRegistry extends
AbstractRegistry {
}
throw new IllegalStateException("Failed to subscribe " +
url + ", cause: " + t.getMessage(), t);
} else {
- logger.error("Failed to subscribe " + url + ", waiting for
retry, cause: " + t.getMessage(), t);
+ logger.error(REGISTRY_FAILED_NOTIFY_EVENT, "", "", "Failed
to subscribe " + url + ", waiting for retry, cause: " + t.getMessage(), t);
}
}
@@ -335,7 +337,7 @@ public abstract class FailbackRegistry extends
AbstractRegistry {
// If the startup detection is opened, the Exception is thrown
directly.
boolean check = getUrl().getParameter(Constants.CHECK_KEY, true)
- && url.getParameter(Constants.CHECK_KEY, true);
+ && url.getParameter(Constants.CHECK_KEY, true);
boolean skipFailback = t instanceof SkipFailbackWrapperException;
if (check || skipFailback) {
if (skipFailback) {
@@ -343,7 +345,7 @@ public abstract class FailbackRegistry extends
AbstractRegistry {
}
throw new IllegalStateException("Failed to unsubscribe " + url
+ " to registry " + getUrl().getAddress() + ", cause: " + t.getMessage(), t);
} else {
- logger.error("Failed to unsubscribe " + url + ", waiting for
retry, cause: " + t.getMessage(), t);
+ logger.error(REGISTRY_FAILED_NOTIFY_EVENT, "", "", "Failed to
unsubscribe " + url + ", waiting for retry, cause: " + t.getMessage(), t);
}
// Record a failed registration request to a failed list, retry
regularly
@@ -363,7 +365,7 @@ public abstract class FailbackRegistry extends
AbstractRegistry {
doNotify(url, listener, urls);
} catch (Exception t) {
// Record a failed registration request to a failed list
- logger.error("Failed to notify addresses for subscribe " + url +
", cause: " + t.getMessage(), t);
+ logger.error(REGISTRY_FAILED_NOTIFY_EVENT, "", "", "Failed to
notify addresses for subscribe " + url + ", cause: " + t.getMessage(), t);
}
}
diff --git
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/RegistryManager.java
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/RegistryManager.java
index 7a2e187a3f..9d46730594 100644
---
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/RegistryManager.java
+++
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/RegistryManager.java
@@ -37,6 +37,7 @@ import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_FAILED_FETCH_INSTANCE;
+import static
org.apache.dubbo.common.constants.LoggerCodeConstants.REGISTRY_UNEXPECTED_EXCEPTION;
/**
* Application Level, used to collect Registries
@@ -79,7 +80,7 @@ public class RegistryManager {
registries.put(key, registry);
}
- public List<ServiceDiscovery> getServiceDiscoveries() {
+ public List<ServiceDiscovery> getServiceDiscoveries() {
return getRegistries()
.stream()
.filter(registry -> registry instanceof ServiceDiscoveryRegistry)
@@ -106,7 +107,7 @@ public class RegistryManager {
try {
registry.destroy();
} catch (Throwable e) {
- LOGGER.warn(e.getMessage(), e);
+ LOGGER.warn(REGISTRY_UNEXPECTED_EXCEPTION, "", "",
e.getMessage(), e);
}
}
registries.clear();
@@ -129,7 +130,7 @@ public class RegistryManager {
// 1-12 Failed to fetch (server) instance since the registry
instances have been destroyed.
LOGGER.warn(REGISTRY_FAILED_FETCH_INSTANCE, "misuse of the
methods", "",
"All registry instances have been destroyed, failed to fetch
any instance. " +
- "Usually, this means no need to try to do unnecessary
redundant resource clearance, all registries has been taken care of.");
+ "Usually, this means no need to try to do unnecessary
redundant resource clearance, all registries has been taken care of.");
return DEFAULT_NOP_REGISTRY;
}
diff --git
a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java
b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java
index c9dcf509f1..2b5cb33804 100644
---
a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java
+++
b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java
@@ -537,7 +537,7 @@ public class NacosRegistry extends FailbackRegistry {
try {
this.namingService.shutdown();
} catch (NacosException e) {
- logger.warn("Unable to shutdown nacos naming service", e);
+ logger.warn(REGISTRY_NACOS_EXCEPTION, "", "", "Unable to shutdown
nacos naming service", e);
}
this.nacosListeners.clear();
}