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")

Reply via email to