Likun Liu created SCB-1974:
------------------------------
Summary: LoadBalance isolation feature should trigger on provider
errors
Key: SCB-1974
URL: https://issues.apache.org/jira/browse/SCB-1974
Project: Apache ServiceComb
Issue Type: Bug
Reporter: Likun Liu
In LoadBalance module, there is isolation feature which triggers on the error
rate from providers. However, the way to check if the request is failed or not
seems wrong:
[https://github.com/apache/servicecomb-java-chassis/blob/master/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java#L431-L432]
{code:java}
// code placeholder
return e.getStatusCode() == ExceptionFactory.CONSUMER_INNER_STATUS_CODE
|| e.getStatusCode() == 503;
{code}
We'd also include `ExceptionFactory.PRODUCER_INNER_STATUS_CODE`, which implies
the error from providers.
I'm not sure why `ExceptionFactory.CONSUMER_INNER_STATUS_CODE` is used in the
check, it doesn't help to isolate on providers since the error is from consumer
side. Maybe there are other reasons (maybe for the stats?) for this error code
is used.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)