This is an automated email from the ASF dual-hosted git repository.
mmerli 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 f8beb78 fix update partitions error for non-persistent topic (#7459)
f8beb78 is described below
commit f8beb7876974cb5c69f74d740926d00fa0cc5a2e
Author: Aloys <[email protected]>
AuthorDate: Tue Jul 7 00:42:32 2020 +0800
fix update partitions error for non-persistent topic (#7459)
---
.../src/main/java/org/apache/pulsar/broker/admin/AdminResource.java | 3 +--
.../test/java/org/apache/pulsar/broker/admin/AdminResourceTest.java | 2 ++
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java
index 7d4b6d1..9124ebb 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java
@@ -357,10 +357,9 @@ public abstract class AdminResource extends
PulsarWebResource {
}
protected void validatePartitionedTopicMetadata(String tenant, String
namespace, String encodedTopic) {
- String completeTopicName = tenant + "/" + namespace + "/" +
Codec.decode(encodedTopic);
try {
PartitionedTopicMetadata partitionedTopicMetadata =
-
pulsar().getBrokerService().fetchPartitionedTopicMetadataAsync(TopicName.get(completeTopicName)).get();
+
pulsar().getBrokerService().fetchPartitionedTopicMetadataAsync(topicName).get();
if (partitionedTopicMetadata.partitions < 1) {
throw new RestException(Status.CONFLICT, "Topic is not
partitioned topic");
}
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminResourceTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminResourceTest.java
index 757b775..509374d 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminResourceTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminResourceTest.java
@@ -98,8 +98,10 @@ public class AdminResourceTest extends BrokerTestBase {
AdminResource resource = mockResource();
resource.setPulsar(pulsar);
// validate should pass when topic is partitioned topic
+ resource.validatePartitionedTopicName(tenant, namespace,
Codec.encode(partitionedTopic));
resource.validatePartitionedTopicMetadata(tenant, namespace,
Codec.encode(partitionedTopic));
// validate should failed when topic is non-partitioned topic
+ resource.validatePartitionedTopicName(tenant, namespace,
Codec.encode(nonPartitionedTopic));
try {
resource.validatePartitionedTopicMetadata(tenant, namespace,
Codec.encode(nonPartitionedTopic));
fail("Should fail validation on non-partitioned topic");