Skip to content

docs(cayenne): document cayenne_metastore_* runtime.params tuning knobs#1933

Open
claudespice wants to merge 1 commit into
trunkfrom
claude/cayenne-metastore-params
Open

docs(cayenne): document cayenne_metastore_* runtime.params tuning knobs#1933
claudespice wants to merge 1 commit into
trunkfrom
claude/cayenne-metastore-params

Conversation

@claudespice

Copy link
Copy Markdown
Collaborator

Summary

The Cayenne runtime.params reference omits the entire cayenne_metastore_* sub-family — SQLite-metastore tuning knobs that the runtime reads from runtime.params at startup (crates/runtime/src/builder.rs) but that appear nowhere in the docs. This documents them, scoped per version (the family and its defaults differ across releases; verified against each tag).

These apply to the default sqlite metastore backend (already documented via cayenne_metastore); the turso backend uses MVCC and ignores them.

vNext + version-2.1.x (identical — 6 params):

Param Default
cayenne_metastore_cache_mb 256
cayenne_metastore_mmap_mb 1024 (1 GiB)
cayenne_metastore_busy_timeout_ms 30000
cayenne_metastore_wal_autocheckpoint_pages 0 (inline auto-checkpoint disabled; WAL drained by background checkpoint)
cayenne_metastore_wal_truncate_threshold_mb 160
cayenne_metastore_auto_vacuum none (none|incremental|full)

version-2.0.x (5 params): no cayenne_metastore_wal_truncate_threshold_mb (the background-truncate mechanism landed after v2.0), and cayenne_metastore_wal_autocheckpoint_pages defaults to 10000 in v2.0, not 0. Both differences verified against the v2.0.1 source, so the 2.0.x snapshot documents the 2.0 values, not the trunk values.

Not documented for v1.x — the cayenne_metastore_* params do not exist there (absent from v1.11.0 builder.rs).

Source (per version)

  • spiceai/spiceai @ trunk/v2.1.0:
    • crates/runtime/src/builder.rs — reads all 6 keys from runtime.params
    • crates/cayenne/src/metastore/sqlite.rs impl Default for SqliteMetastoreConfigcache_size_mb: 256, mmap_size_bytes: 1 GiB, busy_timeout_ms: 30_000, wal_autocheckpoint_pages: 0, wal_truncate_threshold_bytes: 160 MiB, auto_vacuum: None
  • spiceai/spiceai @ v2.0.1:
    • crates/runtime/src/builder.rs:273-295 — reads 5 keys (no wal_truncate_threshold_mb)
    • crates/cayenne/src/metastore/sqlite.rs default — wal_autocheckpoint_pages: 10_000, no wal_truncate_threshold_bytes field

Test plan

  • cd website && npm run build passes
  • Versioned-docs propagation: vNext + 2.1.x (6 params) + 2.0.x (5 params, version-correct defaults); v1.x excluded (params absent)
  • Files updated: 3

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

✅ Pull with Spice Passed

Passing checks:

  • ✅ Title meets minimum length requirement (10 characters)
  • ✅ Has at least one of the required labels: area/blog, area/docs, area/cookbook, dependencies
  • ✅ No banned labels detected
  • ✅ Has at least one assignee: claudespice

@github-actions

Copy link
Copy Markdown
Contributor

🚀 deployed to https://46ee885d.spiceai-org-website.pages.dev

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant