Skip to content

(feat) Add Turbopuffer namespace pinning CLI#773

Open
jamesgao-jpg wants to merge 7 commits into
zilliztech:mainfrom
jamesgao-jpg:turbopuffer-pinning-cli
Open

(feat) Add Turbopuffer namespace pinning CLI#773
jamesgao-jpg wants to merge 7 commits into
zilliztech:mainfrom
jamesgao-jpg:turbopuffer-pinning-cli

Conversation

@jamesgao-jpg
Copy link
Copy Markdown
Collaborator

Summary

  • Add --pin-namespace/--no-pin-namespace and --pin-replicas to the Turbopuffer benchmark CLI.
  • PATCH Turbopuffer namespace metadata to request pinning before benchmark operations when explicitly enabled.
  • Add TurboPufferUnpin CLI command to clear namespace pinning after benchmark runs.

Test Plan

  • python -m py_compile vectordb_bench/backend/clients/turbopuffer/cli.py vectordb_bench/backend/clients/turbopuffer/config.py vectordb_bench/backend/clients/turbopuffer/turbopuffer.py vectordb_bench/cli/vectordbbench.py
  • Stubbed metadata PATCH smoke test for unpin payload ({"pinning": null}), no real Turbopuffer API calls made.

Notes

  • Full test suite was not run in the local checkout because the environment is missing the broader VectorDBBench dependency stack.

@sre-ci-robot
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jamesgao-jpg
To complete the pull request process, please assign xuanyang-cn after the PR has been reviewed.
You can assign the PR to them by writing /assign @xuanyang-cn in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jamesgao-jpg jamesgao-jpg force-pushed the turbopuffer-pinning-cli branch from e2c51da to 8b9ee54 Compare May 11, 2026 09:40
@jamesgao-jpg jamesgao-jpg changed the title Add Turbopuffer namespace pinning CLI (feat) Add Turbopuffer namespace pinning CLI May 11, 2026
@alexanderguzhva
Copy link
Copy Markdown
Contributor

@jamesgao-jpg I'm not very familiar with VectorDBBench internals, just in case :) Nevertheless, this TurboPufferUnpin makes me confused, because (as a user) I don't understand why it needed to have it, and there's no description / anything that could explain me this.

@jamesgao-jpg
Copy link
Copy Markdown
Collaborator Author

@jamesgao-jpg I'm not very familiar with VectorDBBench internals, just in case :) Nevertheless, this TurboPufferUnpin makes me confused, because (as a user) I don't understand why it needed to have it, and there's no description / anything that could explain me this.

I've pondered about where to document this, at the end I can't think of a better location than where the code currently lies, since this is a rather niche thing with turbopuffer (they allow users to pin certain namespace for indefinite duration for more predictable performance).
image

@alexanderguzhva
Copy link
Copy Markdown
Contributor

@jamesgao-jpg Please ensure that this is properly documented in readme.md on the https://github.com/zilliztech/VectorDBBench. Also, can this be implemented as a flag to plain Turbopuffer instead of a separate benchmark? I'm not saying whether this is needed to be implemented this way, but I'm asking to confirm the decision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants