You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by xi...@apache.org on 2022/12/12 08:35:16 UTC

[pulsar] branch branch-2.10 updated (a8b00fd0c96 -> d149992ed05)

This is an automated email from the ASF dual-hosted git repository.

xiangying pushed a change to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git


    from a8b00fd0c96 [refactor][java] Improve docs and code quality about KeyValueSchema usages (#17256)
     new 1d89e0cc548 [fix][broker]add test case for deleting namespace fail when has partitioned system topic (#17338)
     new d149992ed05 [cherry-pick][branch-2.10] fix test after cherry-pick #17338

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/pulsar/broker/admin/AdminApi2Test.java  | 53 +++++++++++++++++++---
 1 file changed, 47 insertions(+), 6 deletions(-)


[pulsar] 01/02: [fix][broker]add test case for deleting namespace fail when has partitioned system topic (#17338)

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiangying pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 1d89e0cc5489cc73c0b451f4d6ed03f023a1d2fc
Author: fengyubiao <yu...@streamnative.io>
AuthorDate: Fri Sep 16 09:32:24 2022 +0800

    [fix][broker]add test case for deleting namespace fail when has partitioned system topic (#17338)
    
    (cherry picked from commit bfbe3811ab1120dd602d2548422f934c7358b5b5)
---
 .../apache/pulsar/broker/admin/AdminApi2Test.java  | 47 ++++++++++++++++++++--
 1 file changed, 44 insertions(+), 3 deletions(-)

diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
index 3cb67eada5e..e935de6b2eb 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
@@ -50,7 +50,9 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
 import javax.ws.rs.NotAcceptableException;
 import javax.ws.rs.core.Response.Status;
+import lombok.AllArgsConstructor;
 import lombok.Cleanup;
+import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.bookkeeper.mledger.ManagedLedger;
 import org.apache.bookkeeper.mledger.impl.ManagedCursorImpl;
@@ -1386,9 +1388,43 @@ public class AdminApi2Test extends MockedPulsarServiceBaseTest {
         assertFalse(pulsar.getLocalMetadataStore().exists(bundleDataPath).join());
     }
 
-    @Test
-    public void testDeleteNamespace() throws Exception {
-        pulsar.getConfiguration().setForceDeleteNamespaceAllowed(false);
+    @Data
+    @AllArgsConstructor
+    private static class NamespaceAttr {
+        private boolean systemTopicEnabled;
+        private String autoTopicCreationType;
+        private int defaultNumPartitions;
+        private boolean forceDeleteNamespaceAllowed;
+    }
+
+    @DataProvider(name = "namespaceAttrs")
+    public Object[][] namespaceAttributes(){
+        return new Object[][]{
+                {new NamespaceAttr(false, "non-partitioned", 0, false)},
+                {new NamespaceAttr(true, "non-partitioned", 0, false)},
+                {new NamespaceAttr(true, "partitioned", 3, false)}
+        };
+    }
+
+    private NamespaceAttr markOriginalNamespaceAttr(){
+        return new NamespaceAttr(conf.isSystemTopicEnabled(), conf.getAllowAutoTopicCreationType(),
+                conf.getDefaultNumPartitions(), conf.isForceDeleteNamespaceAllowed());
+    }
+
+    private void setNamespaceAttr(NamespaceAttr namespaceAttr){
+        conf.setSystemTopicEnabled(namespaceAttr.systemTopicEnabled);
+        conf.setAllowAutoTopicCreationType(namespaceAttr.autoTopicCreationType);
+        conf.setDefaultNumPartitions(namespaceAttr.defaultNumPartitions);
+        conf.setForceDeleteNamespaceAllowed(namespaceAttr.forceDeleteNamespaceAllowed);
+    }
+
+    @Test(dataProvider = "namespaceAttrs")
+    public void testDeleteNamespace(NamespaceAttr namespaceAttr) throws Exception {
+        // Set conf.
+        internalCleanup();
+        NamespaceAttr originalNamespaceAttr = markOriginalNamespaceAttr();
+        setNamespaceAttr(namespaceAttr);
+        setup();
 
         String tenant = "test-tenant";
         assertFalse(admin.tenants().getTenants().contains(tenant));
@@ -1434,6 +1470,11 @@ public class AdminApi2Test extends MockedPulsarServiceBaseTest {
 
         final String bundleDataPath = "/loadbalance/bundle-data/" + namespace;
         assertFalse(pulsar.getLocalMetadataStore().exists(bundleDataPath).join());
+
+        // Reset config
+        internalCleanup();
+        setNamespaceAttr(originalNamespaceAttr);
+        setup();
     }
 
     private void awaitChangeEventTopicAndCompactionCreateFinish(String ns, String topic) throws Exception {


[pulsar] 02/02: [cherry-pick][branch-2.10] fix test after cherry-pick #17338

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiangying pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit d149992ed055b29404c73896116f95696aa681fd
Author: xiangying <19...@qq.com>
AuthorDate: Mon Dec 12 16:35:01 2022 +0800

    [cherry-pick][branch-2.10] fix test after cherry-pick #17338
---
 .../src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
index e935de6b2eb..089f76a01dd 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
@@ -1422,6 +1422,7 @@ public class AdminApi2Test extends MockedPulsarServiceBaseTest {
     public void testDeleteNamespace(NamespaceAttr namespaceAttr) throws Exception {
         // Set conf.
         internalCleanup();
+        conf.setTopicLevelPoliciesEnabled(true);
         NamespaceAttr originalNamespaceAttr = markOriginalNamespaceAttr();
         setNamespaceAttr(namespaceAttr);
         setup();
@@ -1440,12 +1441,12 @@ public class AdminApi2Test extends MockedPulsarServiceBaseTest {
         assertEquals(admin.namespaces().getNamespaces(tenant), Lists.newArrayList(namespace));
 
         // create topic
-        String topic = namespace + "/test-topic";
+        String topic = "persistent://" + namespace + "/test-topic";
         admin.topics().createPartitionedTopic(topic, 10);
         assertFalse(admin.topics().getList(namespace).isEmpty());
 
         // Wait for change event topic and compaction create finish.
-        awaitChangeEventTopicAndCompactionCreateFinish(namespace, String.format("persistent://%s", topic));
+        awaitChangeEventTopicAndCompactionCreateFinish(namespace, topic);
 
         try {
             admin.namespaces().deleteNamespace(namespace, false);
@@ -1456,7 +1457,6 @@ public class AdminApi2Test extends MockedPulsarServiceBaseTest {
 
         // delete topic
         admin.topics().deletePartitionedTopic(topic);
-        assertTrue(admin.topics().getList(namespace).isEmpty());
 
         // delete namespace
         admin.namespaces().deleteNamespace(namespace, false);