You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by GitBox <gi...@apache.org> on 2018/12/24 10:53:19 UTC
[GitHub] liubao68 closed pull request #1042: [SCB-1088] SDK
IsolationServerEvent is missing endpoint information
liubao68 closed pull request #1042: [SCB-1088] SDK IsolationServerEvent is missing endpoint information
URL: https://github.com/apache/servicecomb-java-chassis/pull/1042
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
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 1714e0b71..3c1cb2256 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 @@
private String microserviceName;
+ private Endpoint endpoint;
+
private MicroserviceInstance instance;
//当前实例总请求数
@@ -46,11 +50,12 @@
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 MicroserviceInstance getInstance() {
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 2856434c0..4cc89f8df 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 @@ private boolean allowVisit(Invocation invocation, MicroserviceInstance instance)
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 @@ private boolean allowVisit(Invocation invocation, MicroserviceInstance instance)
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());
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services