[refactor][client c++] Delete PartitionedConsumerImpl, use MultiTopicsConsumerImpl instead - #16969
Conversation
|
/pulsarbot run-failure-checks |
b3e3d95 to
7a5692c
Compare
|
/pulsarbot run-failure-checks |
1 similar comment
|
/pulsarbot run-failure-checks |
7a5692c to
244b3d3
Compare
244b3d3 to
aa71582
Compare
|
@BewareMyPower Thank you very much for your meticulous review, all the suggestions have been fixed, PTAL. |
|
Just a suggestion. You can ran the unit tests locally before pushing more commits. |
2a47bc8 to
e2c08dc
Compare
|
@BewareMyPower @RobertIndie Can you look at it again? Thanks. |
|
Add the related |
…sConsumerImpl instead (#16969) ### Motivation The code of the C++ client is still relatively old, after #1365, the java client used `MultiTopicConsumerImpl` instead of `PartitionedConsumerImpl`. ### Modifications - Delete PartitionedConsumerImpl, use MultiTopicsConsumerImpl instead. - For MultiTopicConsumerImpl, support seek message and topic partition listener feature. (cherry picked from commit 3a3ae23)
|
This PR accidentally fixed a bug that could be reproduced in branch-2.10 so I added other release labels and will cherry-pick it soon. It's better to include this PR in 2.11.0 release. /cc @Technoboy- While I debugged the stuck cpp tests in branch-2.10, I found a deadlock in: See pulsar/pulsar-client-cpp/lib/PartitionedConsumerImpl.cc Lines 326 to 342 in 2a31b8b The Lock lock(consumersMutex_);
if (consumers_.empty()) {
notifyResult(callback);
return;
}
lock.unlock(); // HEREBecause the subsequent There should be a bug fix for it but this refactor PR already removes the bug. So I choose to cherry-pick this PR to older branches. |
…sConsumerImpl instead (#16969) ### Motivation The code of the C++ client is still relatively old, after #1365, the java client used `MultiTopicConsumerImpl` instead of `PartitionedConsumerImpl`. ### Modifications - Delete PartitionedConsumerImpl, use MultiTopicsConsumerImpl instead. - For MultiTopicConsumerImpl, support seek message and topic partition listener feature. (cherry picked from commit 3a3ae23)
…sConsumerImpl instead (#16969) ### Motivation The code of the C++ client is still relatively old, after #1365, the java client used `MultiTopicConsumerImpl` instead of `PartitionedConsumerImpl`. ### Modifications - Delete PartitionedConsumerImpl, use MultiTopicsConsumerImpl instead. - For MultiTopicConsumerImpl, support seek message and topic partition listener feature. (cherry picked from commit 3a3ae23)
…sConsumerImpl instead (#16969) ### Motivation The code of the C++ client is still relatively old, after #1365, the java client used `MultiTopicConsumerImpl` instead of `PartitionedConsumerImpl`. ### Modifications - Delete PartitionedConsumerImpl, use MultiTopicsConsumerImpl instead. - For MultiTopicConsumerImpl, support seek message and topic partition listener feature. (cherry picked from commit 3a3ae23)
…sConsumerImpl instead (apache#16969) ### Motivation The code of the C++ client is still relatively old, after apache#1365, the java client used `MultiTopicConsumerImpl` instead of `PartitionedConsumerImpl`. ### Modifications - Delete PartitionedConsumerImpl, use MultiTopicsConsumerImpl instead. - For MultiTopicConsumerImpl, support seek message and topic partition listener feature. (cherry picked from commit 3a3ae23) (cherry picked from commit 23da64b)
Motivation
The code of the C++ client is still relatively old, after #1365, the java client used
MultiTopicConsumerImplinstead ofPartitionedConsumerImpl.Modifications
Verifying this change
ConsumerTestandEndToEndTestcan be covery this change.Documentation
doc-not-needed