Skip to content

Commit 0ddf8f3

Browse files
committed
Add enableBrokerTopicListWatcher config and explained that topic list watch is not supported.
1 parent 6b61215 commit 0ddf8f3

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

pip/pip-452.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ Inefficient Filtering: For namespaces with millions of topics, the broker must f
1212
To address these issues, I propose making the topic listing logic pluggable and extending the protocol to accept client properties.
1313

1414
# Goals
15+
16+
## In Scope
17+
1518
Protocol: Add a properties field to `CommandGetTopicsOfNamespace` to carry client-side context.
1619

1720
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
2023

2124
Admin API & CLI: Update the REST API and CLI to accept properties for listing topics in a namespace.
2225

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+
2333
# High Level Design
2434
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.
2535
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
2838

2939
## Public-facing Changes
3040

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+
3149
### Protocol Changes
3250
Update `PulsarApi.proto` to include the properties field.
3351

0 commit comments

Comments
 (0)