You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by je...@apache.org on 2020/03/19 21:24:13 UTC
[pulsar] branch master updated: Fix: topic with one partition
cannot be updated (#6560)
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 <je...@gmail.com>
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);