Skip to content

[feat][pip] PIP-452: Customizable topic listing of namespace with properties - #25134

Merged
coderzc merged 13 commits into
apache:masterfrom
coderzc:pip-452
Feb 9, 2026
Merged

[feat][pip] PIP-452: Customizable topic listing of namespace with properties#25134
coderzc merged 13 commits into
apache:masterfrom
coderzc:pip-452

Conversation

@coderzc

@coderzc coderzc commented Jan 11, 2026

Copy link
Copy Markdown
Member

Fixes #xyz

Main Issue: #xyz

PIP: #xyz

Motivation

Modifications

Verifying this change

  • Make sure that the change passes the CI checks.

(Please pick either of the following options)

This change is a trivial rework / code cleanup without any test coverage.

(or)

This change is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(example:)

  • Added integration tests for end-to-end deployment with large payloads (10MB)
  • Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

  • Dependencies (add or upgrade a dependency)
  • The public API
  • The schema
  • The default values of configurations
  • The threading model
  • The binary protocol
  • The REST endpoints
  • The admin CLI options
  • The metrics
  • Anything that affects deployment

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository:

@github-actions github-actions Bot added PIP doc Your PR contains doc changes, no matter whether the changes are in markdown or code files. labels Jan 11, 2026
Comment thread pip/pip-452.md Outdated
@coderzc
coderzc force-pushed the pip-452 branch 11 times, most recently from 06e3b36 to 7348e97 Compare January 12, 2026 16:42
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces PIP-452, which proposes a design for customizable topic listing in Pulsar's GetTopicsOfNamespace command. The proposal aims to make topic discovery more flexible by allowing clients to pass context properties and enabling plugins to override the default metadata store scanning behavior.

Changes:

  • Adds protocol extension to include properties field in CommandGetTopicsOfNamespace
  • Introduces BrokerInterceptor interface method for custom topic listing logic
  • Extends REST API and CLI to support properties parameter for topic listing

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
@coderzc coderzc changed the title [feat][broker] PIP-452: Customizable Topic Listing in GetTopicsOfNamespace with properties [feat][broker] PIP-452: Customizable topic listing of namespace with properties Jan 14, 2026
@coderzc
coderzc force-pushed the pip-452 branch 2 times, most recently from cfa592c to 70224d9 Compare January 14, 2026 06:19
@coderzc coderzc added this to the 4.2.0 milestone Jan 14, 2026
Comment thread pip/pip-452.md
Comment thread pip/pip-452.md
@coderzc coderzc changed the title [feat][broker] PIP-452: Customizable topic listing of namespace with properties [feat][pip] PIP-452: Customizable topic listing of namespace with properties Jan 18, 2026
Comment thread pip/pip-452.md
Comment thread pip/pip-452.md
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md Outdated
Comment thread pip/pip-452.md
Comment thread pip/pip-452.md Outdated
@coderzc

coderzc commented Jan 30, 2026

Copy link
Copy Markdown
Member Author

After discussions with @codelipenghui and @BewareMyPower, we found that the current working method of BrokerInterceptor cannot accurately specify which result to use when multiple BrokerInterceptors are configured. Therefore, a new pluggable interface PulsarResourcesExtended has been introduced to implement this feature.

PulsarResourcesExtended is defined as a general interface used as an extension for customized PulsarResources

@coderzc
coderzc force-pushed the pip-452 branch 2 times, most recently from 28a5562 to a835edd Compare January 30, 2026 12:41
Clarified the description of the 'properties' parameter in the listTopicOfNamespace method.

@lhotari lhotari left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@coderzc

coderzc commented Feb 9, 2026

Copy link
Copy Markdown
Member Author

Since the vote has been passed, merge this PIP

@coderzc
coderzc merged commit 9740408 into apache:master Feb 9, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc Your PR contains doc changes, no matter whether the changes are in markdown or code files. PIP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants