You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by wu...@apache.org on 2020/12/16 14:46:49 UTC

[servicecomb-java-chassis] branch master updated: [SCB-2164]InstanceCacheCheckTask only print necessary message to avoid information leak

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