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

penghui 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 1c09c14  [Broker] Add deleteSubscriptionDispatchRate method for v1 
namespace (#13711)
1c09c14 is described below

commit 1c09c14f13e20443c1857883d799e9217811dfe6
Author: Ruguo Yu <[email protected]>
AuthorDate: Wed Jan 12 22:19:12 2022 +0800

    [Broker] Add deleteSubscriptionDispatchRate method for v1 namespace (#13711)
---
 .../java/org/apache/pulsar/broker/admin/v1/Namespaces.java  | 13 +++++++++++++
 .../org/apache/pulsar/broker/admin/TopicPoliciesTest.java   |  8 ++++++++
 2 files changed, 21 insertions(+)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v1/Namespaces.java 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v1/Namespaces.java
index f7e4b34..8421910 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v1/Namespaces.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v1/Namespaces.java
@@ -735,6 +735,19 @@ public class Namespaces extends NamespacesBase {
         return internalGetSubscriptionDispatchRate();
     }
 
+    @DELETE
+    @Path("/{property}/{cluster}/{namespace}/subscriptionDispatchRate")
+    @ApiOperation(value = "Delete subscription dispatch-rate throttling for 
all topics of the namespace")
+    @ApiResponses(value = {@ApiResponse(code = 403, message = "Don't have 
admin permission"),
+            @ApiResponse(code = 404, message = "Property or cluster or 
namespace doesn't exist"),
+            @ApiResponse(code = 409, message = "Concurrent modification")})
+    public void deleteSubscriptionDispatchRate(@PathParam("property") String 
property,
+                                               @PathParam("cluster") String 
cluster,
+                                               @PathParam("namespace") String 
namespace) {
+        validateNamespaceName(property, cluster, namespace);
+        internalDeleteSubscriptionDispatchRate();
+    }
+
     @POST
     @Path("/{tenant}/{cluster}/{namespace}/replicatorDispatchRate")
     @ApiOperation(value = "Set replicator dispatch-rate throttling for all 
topics of the namespace")
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 4870aa6..015330b 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
@@ -699,6 +699,14 @@ public class TopicPoliciesTest extends 
MockedPulsarServiceBaseTest {
         Awaitility.await().untilAsserted(() -> 
assertNull(admin.namespaces().getSubscriptionDispatchRate(myNamespace)));
         Awaitility.await().untilAsserted(() -> 
assertNull(admin.topicPolicies().getSubscriptionDispatchRate(topic)));
         assertEquals(admin.topicPolicies().getSubscriptionDispatchRate(topic, 
true), brokerDispatchRate);
+
+        admin.namespaces().setSubscriptionDispatchRate(myNamespaceV1, 
namespaceDispatchRate);
+        Awaitility.await().untilAsserted(() ->
+                
assertNotNull(admin.namespaces().getSubscriptionDispatchRate(myNamespaceV1)));
+        admin.namespaces().removeSubscriptionDispatchRate(myNamespaceV1);
+        Awaitility.await().untilAsserted(() ->
+                
assertNull(admin.namespaces().getSubscriptionDispatchRate(myNamespaceV1)));
+
     }
 
     @Test(timeOut = 20000)

Reply via email to