Skip to content

[pip] PIP-455: Support Namespace Bundle Lookup and Topic Preloading#25242

Open
zhaizhibo wants to merge 1 commit intoapache:masterfrom
zhaizhibo:pip-455
Open

[pip] PIP-455: Support Namespace Bundle Lookup and Topic Preloading#25242
zhaizhibo wants to merge 1 commit intoapache:masterfrom
zhaizhibo:pip-455

Conversation

@zhaizhibo
Copy link
Copy Markdown
Contributor

@zhaizhibo zhaizhibo commented Feb 12, 2026

Motivation

Modifications

Start a PIP: Support Namespace Bundle Lookup and Topic Preloading

Documentation

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

Matching PR in forked repository

PR in forked repository:

@github-actions
Copy link
Copy Markdown

@zhaizhibo Please add the following content to your PR description and select a checkbox:

- [ ] `doc` <!-- Your PR contains doc changes -->
- [ ] `doc-required` <!-- Your PR changes impact docs and you will update later -->
- [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
- [ ] `doc-complete` <!-- Docs have been already added -->

@github-actions github-actions Bot added doc-not-needed Your PR changes do not impact docs and removed doc-label-missing labels Feb 12, 2026
@lhotari
Copy link
Copy Markdown
Member

lhotari commented Feb 12, 2026

@zhaizhibo Please ensure that you have subscribed to the dev mailing list (instructions). I released your email from the moderation queue.

@zhaizhibo
Copy link
Copy Markdown
Contributor Author

@zhaizhibo Please ensure that you have subscribed to the dev mailing list (instructions). I released your email from the moderation queue.

@lhotari Thanks, I have subscribed the dev mail.

Comment thread pip/pip-455.md
**V1 :**

```
PUT /admin/namespaces/{property}/{cluster}/{namespace}/lookup
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.

We don't need to support V1 API since we are working on removing the V1 endpoints from the repo.

Comment thread pip/pip-455.md
**V2 :**

```
PUT /admin/v2/namespaces/{tenant}/{namespace}/lookup
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.

Could you please also define the response format of this API, it will be a map which mapping the service URL for each bundle?

@codelipenghui codelipenghui added this to the 4.2.0 milestone Mar 5, 2026
Comment thread pip/pip-455.md

```bash
# Load all bundles in a namespace
pulsar-admin namespaces lookup my-tenant/my-ns
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.

One concern I have with the namespace-level lookup / preloading flow is bundle placement fairness before traffic actually arrives.

For pulsar-admin namespaces lookup my-tenant/my-ns, if the implementation just iterates bundles and triggers lookup/ownership acquisition one by one, I’m not sure this will produce an even bundle distribution across brokers in the cold-start case. At preload time, these bundles may have little or no traffic, so the load manager may not have enough signal to place them in a way that reflects the future workload. In the worst case, a single broker could end up owning many preloaded bundles, and then when traffic arrives later we would need another rebalance cycle, which brings us back to the same lazy-loading / cold-start problem that this PIP is trying to avoid.

Could the PIP clarify this part of the design a bit more?

How should namespace-level preload avoid concentrating too many bundles on one broker?
Is the expected behavior to reuse the normal bundle assignment logic as-is, or should there be a more explicit “spread-first” strategy for this admin-triggered warm-up path?

Should the API return the final bundle -> broker mapping so operators can verify that the warm-up actually achieved a balanced placement?

@lhotari lhotari modified the milestones: 4.2.0, 4.3.0 Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-not-needed Your PR changes do not impact docs PIP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants