You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2019/08/05 04:08:23 UTC

[servicecomb-java-chassis] branch master updated: [SCB-1407] Add new field when print provide cache log

This is an automated email from the ASF dual-hosted git repository.

liubao 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 e6a4850  [SCB-1407] Add new field when print provide cache log
e6a4850 is described below

commit e6a4850db7c12db9d2adbe2739923a9641ca3151
Author: GuoYL <gy...@gmail.com>
AuthorDate: Tue Jul 30 20:08:48 2019 +0800

    [SCB-1407] Add new field when print provide cache log
---
 .../serviceregistry/api/registry/MicroserviceInstance.java | 10 ++++++++++
 .../diagnosis/instance/InstanceCacheChecker.java           |  1 +
 .../diagnosis/instance/InstanceCacheResult.java            | 14 ++++++++++++++
 .../task/MicroserviceInstanceRegisterTask.java             |  4 ++++
 .../diagnosis/instance/TestInstanceCacheChecker.java       |  4 ++++
 5 files changed, 33 insertions(+)

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 4665078..445b42a 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
@@ -67,6 +67,16 @@ public class MicroserviceInstance {
 
   private DataCenterInfo dataCenterInfo;
 
+  private String timestamp;
+
+  public String getTimestamp() {
+    return timestamp;
+  }
+
+  public void setTimestamp(String timestamp) {
+    this.timestamp = timestamp;
+  }
+
   public String getInstanceId() {
     return instanceId;
   }
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 a71c7d0..f086cc3 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
@@ -78,6 +78,7 @@ public class InstanceCacheChecker {
     InstanceCacheResult instanceCacheResult = new InstanceCacheResult();
     instanceCacheResult.setAppId(microserviceVersions.getAppId());
     instanceCacheResult.setMicroserviceName(microserviceVersions.getMicroserviceName());
+    instanceCacheResult.setPulledInstances(microserviceVersions.getPulledInstances());
 
     MicroserviceInstances microserviceInstances = RegistryUtils
         .findServiceInstances(microserviceVersions.getAppId(),
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheResult.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheResult.java
index a5ae3de..2a7ab07 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheResult.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/InstanceCacheResult.java
@@ -16,6 +16,9 @@
  */
 package org.apache.servicecomb.serviceregistry.diagnosis.instance;
 
+import java.util.List;
+
+import org.apache.servicecomb.serviceregistry.api.registry.MicroserviceInstance;
 import org.apache.servicecomb.serviceregistry.diagnosis.Status;
 
 public class InstanceCacheResult {
@@ -28,6 +31,17 @@ public class InstanceCacheResult {
 
   private String detail;
 
+  private List<MicroserviceInstance> pulledInstances;
+
+  public List<MicroserviceInstance> getPulledInstances() {
+    return pulledInstances;
+  }
+
+  public void setPulledInstances(
+      List<MicroserviceInstance> pulledInstances) {
+    this.pulledInstances = pulledInstances;
+  }
+
   public String getAppId() {
     return appId;
   }
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java
index f0132b6..6b18693 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java
@@ -68,6 +68,10 @@ public class MicroserviceInstanceRegisterTask extends AbstractRegisterTask {
     microserviceInstance.getHealthCheck().setTimes(serviceRegistryConfig.getResendHeartBeatTimes());
 
     String instanceId = srClient.registerMicroserviceInstance(microserviceInstance);
+    MicroserviceInstance temIns = srClient.findServiceInstance(microserviceInstance.getServiceId(), instanceId);
+    if (temIns != null) {
+      microserviceInstance.setTimestamp(temIns.getTimestamp());
+    }
     if (StringUtils.isEmpty(instanceId)) {
       LOGGER.error("Register microservice instance failed,will back to register microservice again. microserviceId={}",
           microserviceInstance.getServiceId());
diff --git a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/TestInstanceCacheChecker.java b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/TestInstanceCacheChecker.java
index b5f4a68..a481be0 100644
--- a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/TestInstanceCacheChecker.java
+++ b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/diagnosis/instance/TestInstanceCacheChecker.java
@@ -136,6 +136,7 @@ public class TestInstanceCacheChecker {
     instanceCacheResult.setMicroserviceName(microserviceName);
     instanceCacheResult.setStatus(Status.UNKNOWN);
     instanceCacheResult.setDetail("failed to find instances from service center");
+    instanceCacheResult.setPulledInstances(new ArrayList<>());
     expectedSummary.getProducers().add(instanceCacheResult);
     expectedSummary.setStatus(Status.UNKNOWN);
 
@@ -167,6 +168,7 @@ public class TestInstanceCacheChecker {
     instanceCacheResult.setMicroserviceName(microserviceName);
     instanceCacheResult.setStatus(Status.UNKNOWN);
     instanceCacheResult.setDetail("microservice is not exist anymore, will be deleted from memory in next pull");
+    instanceCacheResult.setPulledInstances(new ArrayList<>());
     expectedSummary.getProducers().add(instanceCacheResult);
     expectedSummary.setStatus(Status.UNKNOWN);
 
@@ -197,6 +199,7 @@ public class TestInstanceCacheChecker {
     instanceCacheResult.setAppId(appId);
     instanceCacheResult.setMicroserviceName(microserviceName);
     instanceCacheResult.setStatus(Status.UNKNOWN);
+    instanceCacheResult.setPulledInstances(new ArrayList<>());
     instanceCacheResult.setDetail(
         "revision is different, will be synchronized in next pull. local revision=first, remote revision=second");
     expectedSummary.getProducers().add(instanceCacheResult);
@@ -235,6 +238,7 @@ public class TestInstanceCacheChecker {
     instanceCacheResult.setStatus(Status.ABNORMAL);
     instanceCacheResult.setDetail(
         "instance cache not match");
+    instanceCacheResult.setPulledInstances(new ArrayList<>());
     expectedSummary.getProducers().add(instanceCacheResult);
     expectedSummary.setStatus(Status.ABNORMAL);