You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: pip/pip-452.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,9 @@ Inefficient Filtering: For namespaces with millions of topics, the broker must f
12
12
To address these issues, I propose making the topic listing logic pluggable and extending the protocol to accept client properties.
13
13
14
14
# Goals
15
+
16
+
## In Scope
17
+
15
18
Protocol: Add a properties field to `CommandGetTopicsOfNamespace` to carry client-side context.
16
19
17
20
Broker: Extend `BrokerInterceptor` to allow plugins to intercept the "Get Topics" request.
@@ -20,6 +23,13 @@ Client: Update the Java Client to forward Consumer properties to the lookup serv
20
23
21
24
Admin API & CLI: Update the REST API and CLI to accept properties for listing topics in a namespace.
22
25
26
+
Configuration: Add a broker configuration to enable/disable topic list watching.
27
+
28
+
## Out of Scope
29
+
30
+
Not support topic list watching for customized topic listing in this PIP. It can be considered in future work.
31
+
If you want to use this feature, you need to disable topic list watching by set `enableBrokerTopicListWatcher = false`.
32
+
23
33
# High Level Design
24
34
We will modify the Pulsar Protocol to carry a properties map. On the Broker side, we will add a new method to the BrokerInterceptor interface.
25
35
The default implementation will preserve the existing behavior (fetching from ZooKeeper). The Broker's connection handler will simply delegate the request to this strategy.
@@ -28,6 +38,14 @@ The default implementation will preserve the existing behavior (fetching from Zo
28
38
29
39
## Public-facing Changes
30
40
41
+
### Configuration
42
+
43
+
broker.conf
44
+
```properties
45
+
# Enables watching topic add/remove events on broker side. It is separated from enableBrokerSideSubscriptionPatternEvaluation.
46
+
enableBrokerTopicListWatcher = true
47
+
```
48
+
31
49
### Protocol Changes
32
50
Update `PulsarApi.proto` to include the properties field.
0 commit comments