This is an automated email from the ASF dual-hosted git repository. wujimin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push: new 7f8f71d [SCB-2164]InstanceCacheCheckTask only print necessary message to avoid information leak 7f8f71d is described below commit 7f8f71d97e1b405f09536f537b20c995843856e1 Author: liubao <bi...@qq.com> AuthorDate: Wed Dec 16 17:16:26 2020 +0800 [SCB-2164]InstanceCacheCheckTask only print necessary message to avoid information leak --- .../registry/api/registry/MicroserviceInstance.java | 10 ++++++++++ .../diagnosis/instance/InstanceCacheCheckTask.java | 2 +- .../diagnosis/instance/InstanceCacheChecker.java | 13 +++++++++---- .../api/registry/TestMicroServiceInstance.java | 3 +++ 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/registry/MicroserviceInstance.java b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/registry/MicroserviceInstance.java index 3622286..5ece9ec 100644 --- a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/registry/MicroserviceInstance.java +++ b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/registry/MicroserviceInstance.java @@ -65,6 +65,16 @@ public class MicroserviceInstance { private String timestamp; + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("instanceId=" + instanceId + ";"); + sb.append("serviceId=" + serviceId + ";"); + sb.append("status=" + status + ";"); + sb.append("endpoints=" + endpoints.toString()); + return sb.toString(); + } + public String getTimestamp() { return timestamp; } diff --git a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheCheckTask.java b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheCheckTask.java index c8eb0e7..36b9ab9 100644 --- a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheCheckTask.java +++ b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheCheckTask.java @@ -124,7 +124,7 @@ public class InstanceCacheCheckTask implements ServiceRegistryTaskInitializer { InstanceCacheSummary instanceCacheSummary = checker.check(); eventBus.post(instanceCacheSummary); - LOGGER.info("check instance cache, result={}.", Json.encode(instanceCacheSummary)); + LOGGER.info("check instance cache, result={}.", instanceCacheSummary.getStatus()); } catch (Throwable e) { LOGGER.error("failed check instance cache..", e); } diff --git a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheChecker.java b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheChecker.java index 4ad8b54..0359b4b 100644 --- a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheChecker.java +++ b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheChecker.java @@ -24,7 +24,6 @@ import java.util.Objects; import java.util.Set; import org.apache.servicecomb.foundation.common.utils.TimeUtils; -import org.apache.servicecomb.serviceregistry.RegistryUtils; import org.apache.servicecomb.registry.api.registry.MicroserviceInstance; import org.apache.servicecomb.registry.api.registry.MicroserviceInstances; import org.apache.servicecomb.registry.consumer.AppManager; @@ -32,6 +31,7 @@ import org.apache.servicecomb.registry.consumer.MicroserviceManager; import org.apache.servicecomb.registry.consumer.MicroserviceVersions; import org.apache.servicecomb.registry.consumer.StaticMicroserviceVersions; import org.apache.servicecomb.registry.definition.DefinitionConst; +import org.apache.servicecomb.serviceregistry.RegistryUtils; import org.apache.servicecomb.serviceregistry.diagnosis.Status; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +40,7 @@ import io.vertx.core.json.Json; public class InstanceCacheChecker { private static final Logger LOGGER = LoggerFactory.getLogger(InstanceCacheChecker.class); - + Clock clock = TimeUtils.getSystemDefaultZoneClock(); private AppManager appManager; @@ -117,6 +117,11 @@ public class InstanceCacheChecker { String local = Json.encode(microserviceVersions.getPulledInstances()); String remote = Json.encode(remoteInstances); if (local.equals(remote)) { + LOGGER.info("instance cache match. appId={}, microservice={}.\n" + + "current cache: {}\n", + microserviceVersions.getAppId(), + microserviceVersions.getMicroserviceName(), + remoteInstances.toString()); instanceCacheResult.setStatus(Status.NORMAL); return instanceCacheResult; } @@ -126,8 +131,8 @@ public class InstanceCacheChecker { + "remote cache: {}", microserviceVersions.getAppId(), microserviceVersions.getMicroserviceName(), - local, - remote); + microserviceVersions.getPulledInstances().toString(), + remoteInstances.toString()); instanceCacheResult.setStatus(Status.ABNORMAL); instanceCacheResult.setDetail("instance cache not match"); diff --git a/service-registry/registry-service-center/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java b/service-registry/registry-service-center/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java index d440f90..18c2652 100644 --- a/service-registry/registry-service-center/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java +++ b/service-registry/registry-service-center/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java @@ -86,6 +86,7 @@ public class TestMicroServiceInstance { Assert.assertNull(oMicroserviceInstance.getHealthCheck()); Assert.assertNull(oMicroserviceInstance.getStage()); Assert.assertEquals(MicroserviceInstanceStatus.UP, oMicroserviceInstance.getStatus()); + Assert.assertEquals("instanceId=null;serviceId=null;status=UP;endpoints=[]", oMicroserviceInstance.toString()); } @SuppressWarnings("deprecation") @@ -110,6 +111,8 @@ public class TestMicroServiceInstance { Assert.assertNotEquals(oMicroserviceInstance.hashCode(), other.hashCode()); Assert.assertEquals(oMicroserviceInstance, same); Assert.assertEquals(oMicroserviceInstance.hashCode(), same.hashCode()); + Assert.assertEquals("instanceId=testInstanceID;serviceId=testServiceID;status=DOWN;endpoints=[testEndpoints]", + oMicroserviceInstance.toString()); } @SuppressWarnings("deprecation")