You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by GitBox <gi...@apache.org> on 2022/07/19 10:02:14 UTC
[GitHub] [dubbo] focuse8 opened a new issue, #10340: [3.0.5]Filter链路异常导致ExecuteLimitFilter没有释放计数,导致服务调用不通。现象cause: The service using threads greater than limited
focuse8 opened a new issue, #10340:
URL: https://github.com/apache/dubbo/issues/10340
<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy -->
- [ ] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
### Environment
* Dubbo version: 3.0.5
* Operating System version:MacOS
* Java version: 1.8
### Steps to reproduce this issue
1. 用任何方式设置某个服务的executes="6",例如 <dubbo:service ref="xxx" interface="xx.xx.xx" executes="6" />
2.自定义Filter(例如业务日志Filter),并且该Filter优先级高于ExecuteLimitFilter。在filter中抛出异常,而不是返回result
3. 多次调用xx.xx.xx服务,出现该异常
Pls. provide [GitHub address] to reproduce this issue.
### Expected Behavior
多次调用xx.xx.xx服务,不会导致executes增长
<!-- What do you expect from the above steps?-->
### Actual Behavior
多次调用xx.xx.xx服务,导致executes只增不减
<!-- What actually happens? -->
If there is an exception, please attach the exception trace:
mapping=true&service.filter=accessLog&side=provider&timeout=3000×tamp=1657868636995&version=1.0, cause: The service using threads greater than <dubbo:service executes="60" /> limited.
at org.apache.dubbo.rpc.filter.ExecuteLimitFilter.invoke(ExecuteLimitFilter.java:49)
at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:313)
at org.apache.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:52)
at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:313)
at com.lefit.dubbo.order.config.AccessLogFilter.invoke$original$nKWSl6Ad(AccessLogFilter.java:5
Just put your stack trace here!
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org
[GitHub] [dubbo] focuse8 commented on issue #10340: [3.0.5]Filter链路异常导致ExecuteLimitFilter没有释放计数,导致服务调用不通。现象cause: The service using threads greater than limited
Posted by GitBox <gi...@apache.org>.
focuse8 commented on issue #10340:
URL: https://github.com/apache/dubbo/issues/10340#issuecomment-1188859071
跟踪下来原因是因为dubbo3的异步模式,如果某个Filter抛异常导致org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder.CallbackRegistrationInvoker#invoke不会正常结束,asyncResult.whenCompleteWithContext对应的回调不会执行。
public Result invoke(Invocation invocation) throws RpcException {
Result asyncResult = filterInvoker.invoke(invocation);
asyncResult.whenCompleteWithContext((r, t) -> {
for (int i = filters.size() - 1; i >= 0; i--) {
//如果某个filter抛异常,这里代码不会执行
}
});
return asyncResult;
}
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org
[GitHub] [dubbo] CrazyHZM closed issue #10340: [3.0.5]Filter链路异常导致ExecuteLimitFilter没有释放计数,导致服务调用不通。现象cause: The service using threads greater than limited
Posted by GitBox <gi...@apache.org>.
CrazyHZM closed issue #10340: [3.0.5]Filter链路异常导致ExecuteLimitFilter没有释放计数,导致服务调用不通。现象cause: The service using threads greater than <dubbo:service executes="6" /> limited
URL: https://github.com/apache/dubbo/issues/10340
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org