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

Reply via email to