Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
[fix][client] Fix multi-topic consumer stuck after redeliver messages #18491
[fix][client] Fix multi-topic consumer stuck after redeliver messages #18491
Changes from 2 commits
f1a7cf2
5af3256
399d76a
9a7a9d6
89aaba8
89df38d
7816224
6c391d9
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
I have tried the test, but it seems unable to cover the change or reproduce the issue without this fix.
After changing the test like this
The issue can be reproduced without the fix and passed with the fix.
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.
Yes, this is not a 100% hit test problem, I tried to fix it
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.
Ah, maybe it's better to add a sleep before
receive()
messages from the consumer.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.
Already add a sleep before receiving messages.
I have tried to increase the probability of test failure, but can't get to 100%. Because that:
receiveMessageFromConsumer
will callconsumerImpl.batchReceiveAsync
andconsumerImpl.receiveAsync
.consumerImpl.batchReceiveAsync
andconsumerImpl.receiveAsync
is finished, it will trigger anotherreceiveMessageFromConsumer
.consumerImpl.batchReceiveAsync
andconsumerImpl.receiveAsync
calls each otherconsumerImpl.receiveAsync
consumerImpl.batchReceiveAsync
consumerImpl.batchReceiveAsync
andconsumerImpl.receiveAsync
executed asynchronously.