[fix][client] Make auto partitions update work for old brokers without PIP-344 #24822
+55
−1
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.
Motivation
See https://lists.apache.org/thread/tpd2kgl4v3x8bkw0skv0nj38rzrk56t7
Modifications
Set the 3rd argument of
getPartitionedTopicMetadata
totrue
inPulsarClientImpl#getPartitionsForTopic
, which is used to query the number of partitions.Add
testAutoPartitionsUpdate
to cover the case. Specially, it tests a consumer that subscribes two partitioned topics to cover the path here:pulsar/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MultiTopicsConsumerImpl.java
Line 182 in 008e4eb
P.S. This test is only added to
ClientTest25
, which runs tests againstapachepulsar/pulsar:2.5.0
image. The current backward compatibility test strategy is ambiguous that only 2.2.0, 2.3.0, 2.4.0, 2.5.0 are tested. It's hard to cover all old versions, but only choose these 4 versions does not make sense. This topic should be out of the scope of this PR. Anyway, the test on 2.5.0 can already prevent regression on the fix.Documentation
doc
doc-required
doc-not-needed
doc-complete
Matching PR in forked repository
PR in forked repository: