This is an automated email from the ASF dual-hosted git repository. liubao pushed a commit to branch 1.3.x in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/1.3.x by this push: new 5995adb [SCB-2164]InstanceCacheCheckTask only print necessary message to avoid information leak (#2143) 5995adb is described below commit 5995adb0b0c662e3340b0fea37d4d864ca81b2ed Author: bao liu <bi...@qq.com> AuthorDate: Thu Dec 17 10:10:28 2020 +0800 [SCB-2164]InstanceCacheCheckTask only print necessary message to avoid information leak (#2143) --- .../serviceregistry/api/registry/MicroserviceInstance.java | 10 ++++++++++ .../diagnosis/instance/InstanceCacheCheckTask.java | 4 +--- .../diagnosis/instance/InstanceCacheChecker.java | 9 +++++++-- .../serviceregistry/api/registry/TestMicroServiceInstance.java | 3 +++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/MicroserviceInstance.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/MicroserviceInstance.java index 445b42a..5154f00 100644 --- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/MicroserviceInstance.java +++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/MicroserviceInstance.java @@ -69,6 +69,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/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheCheckTask.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheCheckTask.java index b6dd615..40283e6 100644 --- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheCheckTask.java +++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheCheckTask.java @@ -31,8 +31,6 @@ import com.netflix.config.DynamicIntProperty; import com.netflix.config.DynamicPropertyFactory; import com.netflix.config.DynamicStringProperty; -import io.vertx.core.json.Json; - public class InstanceCacheCheckTask implements ServiceRegistryTaskInitializer { private static final Logger LOGGER = LoggerFactory.getLogger(InstanceCacheCheckTask.class); @@ -131,7 +129,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/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheChecker.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheChecker.java index f086cc3..8842fb5 100644 --- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheChecker.java +++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheChecker.java @@ -114,6 +114,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; } @@ -123,8 +128,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/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java index affcf92..a81a84f 100644 --- a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java +++ b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java @@ -83,6 +83,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") @@ -107,6 +108,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")