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 <bao....@huawei.com> 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