This is an automated email from the ASF dual-hosted git repository.
yubiao pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 89da706bfcd [fix][broker] Fix `UnsupportedOperationException` when
update topic properties. (#20261)
89da706bfcd is described below
commit 89da706bfcdb8a9c6ba13f2f0881820ffe4d2317
Author: Xiangying Meng <[email protected]>
AuthorDate: Tue May 9 20:47:45 2023 +0800
[fix][broker] Fix `UnsupportedOperationException` when update topic
properties. (#20261)
(cherry picked from commit 0b4c29d091fca6606490aabdccc400280b191f17)
---
.../apache/bookkeeper/mledger/impl/MetaStoreImpl.java | 3 +--
.../apache/pulsar/broker/admin/TopicPoliciesTest.java | 16 ++++++++++++++++
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git
a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/MetaStoreImpl.java
b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/MetaStoreImpl.java
index fcce1f7766c..1bc2d2b04be 100644
---
a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/MetaStoreImpl.java
+++
b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/MetaStoreImpl.java
@@ -23,7 +23,6 @@ import io.netty.buffer.ByteBuf;
import io.netty.buffer.CompositeByteBuf;
import io.netty.buffer.Unpooled;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -182,7 +181,7 @@ public class MetaStoreImpl implements MetaStore,
Consumer<Notification> {
@Override
public void operationFailed(MetaStoreException e) {
if (e instanceof MetadataNotFoundException) {
- result.complete(Collections.emptyMap());
+ result.complete(new HashMap<>());
} else {
result.completeExceptionally(e);
}
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicPoliciesTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicPoliciesTest.java
index a84e955cc9d..4ff29171052 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicPoliciesTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicPoliciesTest.java
@@ -133,6 +133,22 @@ public class TopicPoliciesTest extends
MockedPulsarServiceBaseTest {
super.internalCleanup();
}
+ @Test
+ public void updatePropertiesForAutoCreatedTopicTest() throws Exception {
+ TopicName topicName = TopicName.get(
+ TopicDomain.persistent.value(),
+ NamespaceName.get(myNamespace),
+ "test-" + UUID.randomUUID()
+ );
+ String testTopic = topicName.toString();
+ @Cleanup
+ Producer<byte[]> producer =
pulsarClient.newProducer().topic(testTopic).create();
+ HashMap<String, String> properties = new HashMap<>();
+ properties.put("backlogQuotaType", "message_age");
+ admin.topics().updateProperties(testTopic, properties);
+ admin.topics().delete(topicName.toString(), true);
+ }
+
@Test
public void testTopicPolicyInitialValueWithNamespaceAlreadyLoaded() throws
Exception{
TopicName topicName = TopicName.get(