-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[issue 4589] Fix redelivered message logic of partition topic #4653
[issue 4589] Fix redelivered message logic of partition topic #4653
Conversation
@cckellogg @merlimat @sijie @jiazhai PTAL, thanks |
run cpp tests |
@@ -365,6 +365,7 @@ void PartitionedConsumerImpl::messageReceived(Consumer consumer, const Message& | |||
} | |||
messages_.push(msg); | |||
if (messageListener_) { | |||
unAckedMessageTrackerPtr_->add(msg.getMessageId()); |
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.
Thanks for the work. Seems this is only related with (messageListener_ != null), And not covered by the test case added.
@wolfstudy can you please take a look at @jiazhai 's comment? |
ping @wolfstudy @jiazhai |
@jiazhai PTAL again, thanks. |
@wolfstudy Thanks for the work. This fix is needed, If go client set listener when create partitionedConsumer, this is the right fix. I would suggest add the test for consumer listener with this fix. |
thanks @jiazhai help, in |
Signed-off-by: xiaolong.ran <ranxiaolong716@gmail.com>
Signed-off-by: xiaolong.ran <ranxiaolong716@gmail.com>
Signed-off-by: xiaolong.ran <ranxiaolong716@gmail.com>
Signed-off-by: xiaolong.ran <ranxiaolong716@gmail.com>
1a3b154
to
41e71a8
Compare
run java8 tests |
1 similar comment
run java8 tests |
run java8 tests |
…#4653) Fixes apache#4589 Motivation When using Partition-topic, the logic of redeliver messages will not be triggered when the time of ackTimeout arrives. This is because the unAckedMessageTrackerPtr_->add(msg.getMessageId()) is not call in the listener handling of partitioned topic in cpp code
Fixes #4589 Motivation When using Partition-topic, the logic of redeliver messages will not be triggered when the time of ackTimeout arrives. This is because the unAckedMessageTrackerPtr_->add(msg.getMessageId()) is not call in the listener handling of partitioned topic in cpp code (cherry picked from commit cc5f25b)
Fixes #4589
Motivation
When using Partition-topic, the logic of redeliver messages will not be triggered when the time of
ackTimeout
arrives.This is because the
unAckedMessageTrackerPtr_->add(msg.getMessageId())
is not call in the listener handling of partitioned topic in cpp code