-
Notifications
You must be signed in to change notification settings - Fork 12k
[ISSUE #3630] Fix the bug that the broker will hang after polish the headWaitTimeMills method #3631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…dWaitTimeMills of sendThreadPoolQueue
Codecov Report
@@ Coverage Diff @@
## develop #3631 +/- ##
=============================================
+ Coverage 48.86% 49.75% +0.89%
- Complexity 4659 4733 +74
=============================================
Files 555 555
Lines 36726 36773 +47
Branches 4840 4849 +9
=============================================
+ Hits 17946 18297 +351
+ Misses 16532 16195 -337
- Partials 2248 2281 +33
Continue to review full report at Codecov.
|
@Override | ||
public void asyncProcessRequest(ChannelHandlerContext ctx, RemotingCommand request, RemotingResponseCallback responseCallback) throws Exception { | ||
asyncProcessRequest(ctx, request).thenAcceptAsync(responseCallback::callback, this.brokerController.getSendMessageExecutor()); | ||
asyncProcessRequest(ctx, request).thenAcceptAsync(responseCallback::callback, this.brokerController.getPutMessageFutureExecutor()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The callback is an async netty operation (ctx.writeAndFlush). I suggest use thenAccept() method, the writeAndFlush may run in these threads:
- sendMessageExecutor
- the flush thread
- the transfer thread
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…dWaitTimeMills of sendThreadPoolQueue (apache#3631)
…dWaitTimeMills of sendThreadPoolQueue (apache#3631)
…dWaitTimeMills of sendThreadPoolQueue (apache#3631)
Make sure set the target branch to
develop
What is the purpose of the change
Fix the bug that the broker will hang after polish the headWaitTimeMills method
#3630
#3509
Brief changelog
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice,
it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR
.[ISSUE #123] Fix UnknownException when host config not exist
. Each commit in the pull request should have a meaningful subject line and body.mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle
to make sure basic checks pass. Runmvn clean install -DskipITs
to make sure unit-test pass. Runmvn clean test-compile failsafe:integration-test
to make sure integration-test pass.