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