zhuchengwei925023914 opened a new issue, #3273:
URL: https://github.com/apache/servicecomb-java-chassis/issues/3273
version:2.6.0
code:getWaitTime in SyncResponseExecutor
```
private long getWaitTime(Invocation invocation) {
if (invocation.getOperationMeta().getConfig().getMsRequestTimeout() <=
0) {
return
invocation.getOperationMeta().getConfig().getMsInvocationTimeout();
}
if (invocation.getOperationMeta().getConfig().getMsInvocationTimeout()
<= 0) {
return invocation.getOperationMeta().getConfig().getMsRequestTimeout();
}
return
Math.min(invocation.getOperationMeta().getConfig().getMsRequestTimeout(),
invocation.getOperationMeta().getConfig().getMsInvocationTimeout());
}
```
issue:The method getWaitTime in SyncResponseExecutor doen't consider retry
times. This result in client request will be finished before the request really
timeout. For example,consumer c invokes method m of provider p.The request
timeout is 30s,and retryOnNext is 2.The request timeout really is 90s,but
getWaitTime will return 30s.So,client invocation will timeout before response
return.Baddly,the cmd in SyncResponseExecutor will be null,because the
invocation will finish in advance.This result in handlers will not be executed
in response callBack.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]