Repository navigation
docs(snapshots): per-dataset snapshot settings; deprecate top-level snapshots and runtime.scheduler state settings - #2387
Merged
Merged
Conversation
…napshots and runtime.scheduler state settings
Contributor
✅ Pull with Spice PassedPassing checks:
|
Contributor
🔍 Pull with Spice FailedPassing checks:
Failed checks:
Please address these issues and update your pull request. |
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Reader examples omit a write-access prerequisite that can prevent read-only deployments from becoming ready.
3 open findings
What changed in this PR
Updates vNext documentation for per-dataset snapshot settings and shared runtime state, while documenting migration from deprecated configuration.
Changes:
- Adds per-dataset snapshot fields and migration guidance.
- Moves snapshot and scheduler examples to
runtime.state. - Explains shared SQS consumers and notification routing.
| File | Description |
|---|---|
| website/docs/reference/spicepod/runtime.md | Documents scheduler deprecations and state parameters. |
| website/docs/reference/spicepod/index.md | Marks top-level snapshots deprecated and explains precedence. |
| website/docs/reference/spicepod/datasets.md | Adds per-dataset snapshot settings. |
| website/docs/features/distributed-query/index.md | Updates scheduler configuration examples. |
| website/docs/features/data-acceleration/snapshots.md | Adds storage overrides and migration guidance. |
| website/docs/features/data-acceleration/refresh-modes/snapshot.md | Updates reader examples and queue guidance. |
| website/docs/features/data-acceleration/data-refresh.md | Uses shared state in the snapshot example. |
| website/docs/cli/reference/query.md | Updates scheduler state prerequisites. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Contributor
|
🚀 deployed to https://d0bcb7a4.spiceai-org-website.pages.dev |
…s cover every location; list deprecated snapshots.location
Contributor
|
🚀 deployed to https://38092b01.spiceai-org-website.pages.dev |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

spiceai/spiceai#15136 adds three per-dataset acceleration fields,
snapshots_location,snapshots_params, andsnapshots_bootstrap_on_failure_behavior, and deprecates the top-levelsnapshotssection andruntime.scheduler.state_location/paramsin favor ofruntime.state. Each deprecated setting still works and logs one startup warning that shows the replacement configuration. The PR also routes SQS snapshot notifications so a queue on the wholeruntime.stateprefix works: notifications for other state folders are deleted silently, and locations that name the same queue share one consumer. Before this change, the docs presented the top-levelsnapshotssection andruntime.scheduler.state_locationas the primary configuration, and theacceleration.snapshotsreference said the top-level section was required.Pages changed
website/docs/features/data-acceleration/snapshots.md: snapshot storage now leads withruntime.state; new "Override the snapshot location per dataset" and "Migrate from the top-levelsnapshotssection" subsections; Failure behavior names the new dataset field; examples moved toruntime.state.website/docs/features/data-acceleration/refresh-modes/snapshot.md: reader examples setacceleration.snapshots_location(read-only access, noruntime.statestartup check), with a note on theruntime.statealternative;s3_queue_urlplacement, shared queue consumers, notification filters for every location on a queue, sibling state folder notifications, and the unread-queue warning on a scheduler.website/docs/features/data-acceleration/data-refresh.md: snapshot refresh example setsacceleration.snapshots_location.website/docs/reference/spicepod/datasets.md:acceleration.snapshotsrequirement corrected; three new field sections.website/docs/reference/spicepod/index.md: deprecation notice onsnapshotsand precedence of the dataset fields.website/docs/reference/spicepod/runtime.md:runtime.scheduler.state_location/paramsmarked deprecated, with the startup warning cases;runtime.statefeature table and state location parameters updated;s3_queue_urlinruntime.state.params.website/docs/features/distributed-query/index.md,website/docs/cli/reference/query.md: scheduler state examples and prerequisites useruntime.state.location.These edits avoid the lines that open docs PR #2379 (snapshot roll back and pin) changes.
Versioned docs
vNext only. The merge commit
4a99926b4abde0c7bb303113ea3b488856752dc7is in no release tag and is not onrelease/2.4, so v2.4.0-rc.1 and v2.4.0-rc.2 do not have the new fields or the warnings. Testers of rc.1 and rc.2 who setruntime.scheduler.state_locationor the top-levelsnapshotssection see a deprecation warning after upgrading; the migration subsection and theruntime.schedulerwarning table cover this. No versioned docs are changed.Verification
Trunk SHA:
9a25991b0384c7fc6b25fc838d6d71ce6f65ea57.acceleration.snapshots_locationfield:crates/spicepod/src/acceleration/mod.rs:674: pub snapshots_location: Option<String>,acceleration.snapshots_paramsfield:crates/spicepod/src/acceleration/mod.rs:682: pub snapshots_params: Option<Params>,acceleration.snapshots_bootstrap_on_failure_behaviorfield:crates/spicepod/src/acceleration/mod.rs:688: pub snapshots_bootstrap_on_failure_behavior: Option<BootstrapOnFailureBehavior>,crates/runtime-acceleration/src/snapshot/section_deprecation.rs:68: "The top-level \snapshots` section is deprecated and will be removed in a future release. Snapshots are stored in the `snapshots/` folder of `runtime.state.location`."`crates/runtime-state-location/src/scheduler_deprecation.rs:75: "{settings} deprecated and will be removed in a future release. The scheduler keeps its state in the \cluster/` folder of `runtime.state.location`."`crates/spicepod/src/component/runtime.rs:1730: pub const SCHEDULER_STATE_FOLDER: &str = "cluster";crates/runtime-acceleration/src/snapshot/notifications.rs:831: "... A queue has one consumer, so it is read with the credentials of '{opened_for}'. ..."v2.4.0-rc.2:crates/spicepod/src/acceleration/mod.rs:515: #[serde(deny_unknown_fields)](onpub struct Accelerationat line 516).runtime.state.locationfinding existing objects were tested in the source PR on LocalStack and with unit tests: feat(snapshots): per-dataset snapshot settings; deprecate top-level snapshots and runtime.scheduler state settings spiceai#15136runtime.state; asnapshots_locationwithoutsnapshots_paramsuses no params), fromApp::dataset_snapshotsandsnapshot_params_settingincrates/app/src/lib.rs.crates/runtime/src/init/dataset.rs:293and:312).runtime.state.paramsaccepts3_queue_urlfor the scheduler, rate control, and warmup without a warning (crates/runtime-state-location/src/lib.rs:226-227); a feature's ownparamsstill warn.runtime.schedulertable, fromcrates/runtime-state-location/src/scheduler_deprecation.rs.runtime.stateis not ready until the startup check passes (crates/runtime/src/state_location.rs:160), so read-only reader examples usesnapshots_locationinstead.runtime.stateroot (route()incrates/runtime-acceleration/src/snapshot/notifications.rs).npm run buildinwebsite/passed locally ([SUCCESS] Generated static files in "build"., exit 0; no broken links or anchors reported)