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 445b42a56fe..5154f000e61 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 b6dd6155c41..40283e66e63 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.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 @@ protected void runTask() { 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 f086cc33f36..8842fb50c6c 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 @@ protected InstanceCacheResult check(MicroserviceVersions microserviceVersions) { 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 @@ protected InstanceCacheResult check(MicroserviceVersions microserviceVersions) { + "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 affcf922839..a81a84f1ae7 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 void testDefaultValues() { 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 void testInitializedValues() { 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")