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:
[email protected]
With regards,
Apache Git Services