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