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);

Reply via email to