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 952d3e2  [SCB-1088] SDK IsolationServerEvent is missing endpoint 
information
952d3e2 is described below

commit 952d3e21fcc6e79717a7d7515edb942cd803a663
Author: weichao666 <[email protected]>
AuthorDate: Mon Dec 24 15:39:39 2018 +0800

    [SCB-1088] SDK IsolationServerEvent is missing endpoint information
---
 .../servicecomb/loadbalance/event/IsolationServerEvent.java | 13 +++++++++++--
 .../loadbalance/filter/IsolationDiscoveryFilter.java        |  4 ++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git 
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/event/IsolationServerEvent.java
 
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/event/IsolationServerEvent.java
index 1714e0b..3c1cb22 100644
--- 
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/event/IsolationServerEvent.java
+++ 
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/event/IsolationServerEvent.java
@@ -16,6 +16,8 @@
  */
 package org.apache.servicecomb.loadbalance.event;
 
+import org.apache.servicecomb.core.Endpoint;
+import org.apache.servicecomb.core.Invocation;
 import org.apache.servicecomb.foundation.common.event.AlarmEvent;
 import org.apache.servicecomb.loadbalance.ServiceCombServerStats;
 import org.apache.servicecomb.loadbalance.filter.IsolationDiscoveryFilter;
@@ -25,6 +27,8 @@ public class IsolationServerEvent extends AlarmEvent {
 
   private String microserviceName;
 
+  private Endpoint endpoint;
+
   private MicroserviceInstance instance;
 
   //当前实例总请求数
@@ -46,11 +50,12 @@ public class IsolationServerEvent extends AlarmEvent {
 
   private long singleTestTime;
 
-  public IsolationServerEvent(String microserviceName, MicroserviceInstance 
instance,
+  public IsolationServerEvent(Invocation invocation, MicroserviceInstance 
instance,
       ServiceCombServerStats serverStats,
       IsolationDiscoveryFilter.Settings settings, Type type) {
     super(type);
-    this.microserviceName = microserviceName;
+    this.microserviceName = invocation.getMicroserviceName();
+    this.endpoint = invocation.getEndpoint();
     this.currentTotalRequest = serverStats.getTotalRequests();
     this.currentCountinuousFailureCount = 
serverStats.getCountinuousFailureCount();
     this.currentErrorPercentage = serverStats.getFailedRate();
@@ -101,4 +106,8 @@ public class IsolationServerEvent extends AlarmEvent {
   public int getMinIsolationTime() {
     return minIsolationTime;
   }
+
+  public Endpoint getEndpoint() {
+    return endpoint;
+  }
 }
diff --git 
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/IsolationDiscoveryFilter.java
 
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/IsolationDiscoveryFilter.java
index 2856434..4cc89f8 100644
--- 
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/IsolationDiscoveryFilter.java
+++ 
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/IsolationDiscoveryFilter.java
@@ -129,7 +129,7 @@ public class IsolationDiscoveryFilter implements 
DiscoveryFilter {
       if (!serverStats.isIsolated()) {
         ServiceCombLoadBalancerStats.INSTANCE.markIsolated(server, true);
         eventBus.post(
-            new IsolationServerEvent(invocation.getMicroserviceName(), 
instance, serverStats,
+            new IsolationServerEvent(invocation, instance, serverStats,
                 settings, Type.OPEN));
         LOGGER.warn("Isolate service {}'s instance {}.", 
invocation.getMicroserviceName(),
             instance.getInstanceId());
@@ -143,7 +143,7 @@ public class IsolationDiscoveryFilter implements 
DiscoveryFilter {
         return false;
       }
       ServiceCombLoadBalancerStats.INSTANCE.markIsolated(server, false);
-      eventBus.post(new IsolationServerEvent(invocation.getMicroserviceName(), 
instance, serverStats,
+      eventBus.post(new IsolationServerEvent(invocation, instance, serverStats,
           settings, Type.CLOSE));
       LOGGER.warn("Recover service {}'s instance {} from isolation.", 
invocation.getMicroserviceName(),
           instance.getInstanceId());

Reply via email to