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 <[email protected]>
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")