This is an automated email from the ASF dual-hosted git repository.
jerrypeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 9602c9b Fix: topic with one partition cannot be updated (#6560)
9602c9b is described below
commit 9602c9bd5dd7f1f1f4af41e8af73236413911aa3
Author: Boyang Jerry Peng <[email protected]>
AuthorDate: Thu Mar 19 14:23:59 2020 -0700
Fix: topic with one partition cannot be updated (#6560)
* Fix: topic with one partition cannot be updated
---
.../pulsar/broker/admin/impl/PersistentTopicsBase.java | 2 +-
.../apache/pulsar/broker/admin/IncrementPartitionsTest.java | 12 +++++++++---
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
index bb5e579..fe0229b 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
@@ -2238,7 +2238,7 @@ public class PersistentTopicsBase extends AdminResource {
String path = path(PARTITIONED_TOPIC_PATH_ZNODE,
topicName.getPersistenceNamingEncoding());
CompletableFuture<Void> result = new CompletableFuture<>();
pulsar().getBrokerService().fetchPartitionedTopicMetadataAsync(topicName).thenAccept(partitionMetadata
-> {
- if (partitionMetadata.partitions <= 1) {
+ if (partitionMetadata.partitions < 1) {
result.completeExceptionally(new
RestException(Status.CONFLICT, "Topic is not partitioned topic"));
return;
}
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/IncrementPartitionsTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/IncrementPartitionsTest.java
index 5c5a8b3..f43d381 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/IncrementPartitionsTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/IncrementPartitionsTest.java
@@ -77,11 +77,17 @@ public class IncrementPartitionsTest extends
MockedPulsarServiceBaseTest {
public void testIncrementPartitionsOfTopic() throws Exception {
final String partitionedTopicName =
"persistent://prop-xyz/use/ns1/test-topic-2";
- admin.topics().createPartitionedTopic(partitionedTopicName, 10);
-
assertEquals(admin.topics().getPartitionedTopicMetadata(partitionedTopicName).partitions,
10);
+ admin.topics().createPartitionedTopic(partitionedTopicName, 1);
+
assertEquals(admin.topics().getPartitionedTopicMetadata(partitionedTopicName).partitions,
1);
Consumer<byte[]> consumer =
pulsarClient.newConsumer().topic(partitionedTopicName).subscriptionName("sub-1")
- .subscribe();
+ .subscribe();
+
+ admin.topics().updatePartitionedTopic(partitionedTopicName, 2);
+
assertEquals(admin.topics().getPartitionedTopicMetadata(partitionedTopicName).partitions,
2);
+
+ admin.topics().updatePartitionedTopic(partitionedTopicName, 10);
+
assertEquals(admin.topics().getPartitionedTopicMetadata(partitionedTopicName).partitions,
10);
admin.topics().updatePartitionedTopic(partitionedTopicName, 20);
assertEquals(admin.topics().getPartitionedTopicMetadata(partitionedTopicName).partitions,
20);