diff --git a/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/admin/PersistentTopics.java b/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/admin/PersistentTopics.java index 782dadb72a315c797f4a6e8ba32b4a22e3fc55b0..f8ca0dd78b71227719e43d2ee9161ac50d0dd9b8 100644 --- a/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/admin/PersistentTopics.java +++ b/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/admin/PersistentTopics.java @@ -296,11 +296,12 @@ public class PersistentTopics extends AdminResource { try { // Write the new policies to zookeeper - globalZk().setData(path("policies", property, cluster, namespace), jsonMapper().writeValueAsBytes(policies), - nodeStat.getVersion()); + String namespacePath = path("policies", property, cluster, namespace); + globalZk().setData(namespacePath, jsonMapper().writeValueAsBytes(policies), nodeStat.getVersion()); // invalidate the local cache to force update - policiesCache().invalidate(path("policies", property, cluster, namespace)); + policiesCache().invalidate(namespacePath); + globalZkCache().invalidate(namespacePath); log.info("[{}] Successfully revoke access for role {} - destination {}", clientAppId(), role, destinationUri); diff --git a/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/service/BrokerService.java b/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/service/BrokerService.java index 800cb9e1f5b86147df2bcbc84227b718a2bcd141..13ae08728bb79251259cc20c1549558390e58430 100644 --- a/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/service/BrokerService.java +++ b/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/service/BrokerService.java @@ -279,7 +279,7 @@ public class BrokerService implements Closeable, ZooKeeperCacheListener { try { @@ -307,12 +307,14 @@ public class BrokerService implements Closeable, ZooKeeperCacheListenerSecond it starts unloading namespace bundle one by one without closing the connection in order to avoid * disruption for other namespacebundles which are sharing the same connection from the same client. *