Skip to content

docs(snapshots): document the shard snapshot API - #3097

Open
inamdarmihir wants to merge 1 commit into
qdrant:masterfrom
inamdarmihir:docs/shard-snapshots
Open

inamdarmihir wants to merge 1 commit into
qdrant:masterfrom
inamdarmihir:docs/shard-snapshots

Conversation

@inamdarmihir

Copy link
Copy Markdown
Contributor

Fixes #306

Motivation

Shard snapshots, available since v1.5.0, have no documentation on the Snapshots page. Issue #306 has tracked that gap since 2023, and the page still covers only collection snapshots and full storage snapshots. Anyone who needs to back up, move, or repair a single shard has to piece the endpoints together from the API reference, with no explanation of how a recovery affects the other replicas of the shard. This PR adds that documentation.

What changed

  • A new Shard snapshots section in snapshots.md: create, list, download, streaming download, delete, recover from a URL or a stored snapshot, recover from an uploaded file, and shard snapshot priority.
  • A one-line pointer to the new section from the page introduction.
  • Seven snippet bundles under headless/snippets/snapshots/ (http.md and bash.sh, with the generated bash.md), in the same format as the existing snapshot examples.

The partial snapshot endpoints (/snapshot/partial/*) are not covered.

How it was checked

  • Every documented request was sent to a local Qdrant v1.20.0 server with a two-shard collection: create (including wait=false), list, download by name, streaming download, recover by stored name and by URL, checksum accepted and a wrong checksum rejected, api_key accepted, upload with priority and checksum query parameters, and delete. Recovery overwrote the shard, which went from 0 points back to its 4. With enable_snapshot_url_recovery: false, recovery from a URL is refused (Forbidden), while recovery from a stored snapshot and from an upload still work.
  • On a single node the recovered shard stays active whatever the priority, as the page says.
  • Parameters and defaults come from the REST handlers in src/actix/api/snapshot_api.rs, src/common/snapshots.rs, and the OpenAPI spec. The default priority for shard recovery is snapshot, from SnapshotPriority's default.
  • Hugo 0.160.1 with Dart Sass 1.70.0 builds the whole site (2293 pages) with no errors, and the new section renders in both the HTML page and the Markdown output.
  • automation/prompts/check-prompts.sh, automation/check-content-images.sh, and automation/snippets/generate-md.py pass, and the generator reproduces the committed generated/ files.
  • The text follows AGENTS.md: no em dashes, no directional language, and code samples in snippet bundles.

Not verified: the multi-replica behavior of each priority was read from recover_shard_snapshot_impl and not run on a cluster, and "Available as of v1.5.0" is taken from the wording of #306.

AI disclosure

Commits:

  • [AI] docs(snapshots): document the shard snapshot API

Prompt, summarized from the instructions given to the AI tool: find a small documentation issue that no one has claimed, and for #306 add a "Shard snapshots" section to the Snapshots page covering the shard snapshot endpoints. Take every parameter and default from the REST handlers and the OpenAPI spec in qdrant/qdrant, follow this repository's AGENTS.md (snippet bundles, style rules), and check the result against a running server and a full Hugo build before opening the PR.

I reviewed the result and can answer questions about it.

Authored by Mihir

The Snapshots page covers collection and full storage snapshots but not
the shard snapshot endpoints that exist since v1.5.0.

Add a Shard snapshots section for creating, listing, downloading,
streaming, deleting, and recovering a shard, including recovery from an
uploaded file, and explain what each recovery priority does to the other
replicas of the shard. The behavior is taken from the Qdrant REST handlers
and the OpenAPI spec. The examples are snippet bundles, like the other
snapshot examples.

Fixes qdrant#306

Authored by Mihir
@netlify

netlify Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for condescending-goldwasser-91acf0 ready!

Name Link
🔨 Latest commit 75a8e48
🔍 Latest deploy log https://app.netlify.com/projects/condescending-goldwasser-91acf0/deploys/6ade45c428ddadf77cfa3120
😎 Deploy Preview https://deploy-preview-3097--condescending-goldwasser-91acf0.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kanungle
kanungle requested review from bashofmann and removed request for Dylancouzon, generall, kanungle and trean October 31, 2026 10:23
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.

Document shard snapshot API

1 participant