lzhang131 commented on pull request #3784:
URL: https://github.com/apache/rocketmq/pull/3784#issuecomment-1019082837
> The `callbackExecutor` has been redefined in issue #3781 , and its queue
is bounded with 50000 as you defined in your commit.
>
> So the `publicExecutor` will not be used as `callbackExecutor` when called
`getCallbackExecutor()`.
>
> ```java
> @Override
> public ExecutorService getCallbackExecutor() {
> return callbackExecutor != null ? callbackExecutor :
publicExecutor;
> }
> ```
>
> So I think your PR can not solve the issue #3781
You can look at this code:
private void executeInvokeCallback(final ResponseFuture responseFuture) {
boolean runInThisThread = false;
ExecutorService executor = this.getCallbackExecutor();
if (executor != null) {
try {
executor.submit(new Runnable() {
@Override
public void run() {
try {
responseFuture.executeInvokeCallback();
} catch (Throwable e) {
log.warn("execute callback in executor
exception, and callback throw", e);
} finally {
responseFuture.release();
}
}
});
} catch (Exception e) {
--
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]