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 ca4dea2 [SCB-1038]Fix some bugs and logs improvement reported by
users when testing
ca4dea2 is described below
commit ca4dea29d6a4c72cdebf28185c435ea69b7259dd
Author: liubao <[email protected]>
AuthorDate: Fri Nov 23 17:08:18 2018 +0800
[SCB-1038]Fix some bugs and logs improvement reported by users when testing
---
.../apache/servicecomb/loadbalance/LoadbalanceHandler.java | 12 +++++-------
.../servicecomb/loadbalance/SessionStickinessRule.java | 1 +
.../servicecomb/loadbalance/TestLoadbalanceHandler.java | 4 +---
3 files changed, 7 insertions(+), 10 deletions(-)
diff --git
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java
index d36c552..8547af5 100644
---
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java
+++
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java
@@ -35,10 +35,10 @@ import org.apache.servicecomb.core.Handler;
import org.apache.servicecomb.core.Invocation;
import org.apache.servicecomb.core.SCBEngine;
import org.apache.servicecomb.core.Transport;
-import org.apache.servicecomb.core.exception.ExceptionUtils;
import org.apache.servicecomb.core.provider.consumer.SyncResponseExecutor;
import org.apache.servicecomb.foundation.common.cache.VersionedCache;
import org.apache.servicecomb.foundation.common.concurrent.ConcurrentHashMapEx;
+import org.apache.servicecomb.foundation.common.utils.ExceptionUtils;
import org.apache.servicecomb.loadbalance.filter.ServerDiscoveryFilter;
import org.apache.servicecomb.serviceregistry.discovery.DiscoveryContext;
import org.apache.servicecomb.serviceregistry.discovery.DiscoveryFilter;
@@ -232,9 +232,7 @@ public class LoadbalanceHandler implements Handler {
long time = System.currentTimeMillis();
ServiceCombServer server = chosenLB.chooseServer(invocation);
if (null == server) {
-
asyncResp.consumerFail(ExceptionUtils.lbAddressNotFound(invocation.getMicroserviceName(),
- invocation.getMicroserviceVersionRule(),
- invocation.getConfigTransportName()));
+ asyncResp.consumerFail(new
InvocationException(Status.INTERNAL_SERVER_ERROR, "No available address
found."));
return;
}
chosenLB.getLoadBalancerStats().incrementNumRequests(server);
@@ -295,7 +293,7 @@ public class LoadbalanceHandler implements Handler {
context.getRequest().getEndpoint(),
info.getNumberOfPastServersAttempted(),
info.getNumberOfPastAttemptsOnServer(),
- exception.getMessage());
+ ExceptionUtils.getExceptionMessageWithoutTrace(exception));
}
@Override
@@ -319,7 +317,7 @@ public class LoadbalanceHandler implements Handler {
public void onExecutionFailed(ExecutionContext<Invocation> context,
Throwable finalException,
ExecutionInfo info) {
LOGGER.error("Invoke all server failed. Operation {}, e={}",
- context.getRequest().getInvocationQualifiedName(),
finalException.toString());
+ context.getRequest().getInvocationQualifiedName(),
ExceptionUtils.getExceptionMessageWithoutTrace(finalException));
if (orginExecutor != null) {
orginExecutor.execute(() -> {
fail(finalException);
@@ -366,7 +364,7 @@ public class LoadbalanceHandler implements Handler {
if (isFailedResponse(resp)) {
LOGGER.error("service {}, call error, msg is {}, server is {}
",
invocation.getInvocationQualifiedName(),
- ((Throwable) resp.getResult()).getMessage(),
+ ExceptionUtils.getExceptionMessageWithoutTrace((Throwable)
resp.getResult()),
s);
chosenLB.getLoadBalancerStats().incrementSuccessiveConnectionFailureCount(s);
ServiceCombLoadBalancerStats.INSTANCE.markFailure(server);
diff --git
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/SessionStickinessRule.java
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/SessionStickinessRule.java
index a489860..a854a83 100644
---
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/SessionStickinessRule.java
+++
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/SessionStickinessRule.java
@@ -56,6 +56,7 @@ public class SessionStickinessRule implements RuleExt {
}
public void setLoadBalancer(LoadBalancer loadBalancer) {
+ this.microserviceName = loadBalancer.getMicroServiceName();
this.loadBalancer = loadBalancer;
}
diff --git
a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
index f7e2635..b20530d 100644
---
a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
+++
b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
@@ -165,10 +165,8 @@ public class TestLoadbalanceHandler {
result.value = (Throwable) resp.getResult();
}, loadBalancer);
- Assert.assertEquals("InvocationException: code=490;msg=CommonExceptionData
[message=Cse Internal Bad Request]",
+ Assert.assertEquals("InvocationException: code=500;msg=CommonExceptionData
[message=No available address found.]",
result.value.getMessage());
- Assert.assertEquals("No available address found. microserviceName=ms,
version=null, discoveryGroupName=null",
- result.value.getCause().getMessage());
}
@Test