Documentation
¶
Overview ¶
Package shardvault is the sharded, compressed bbolt implementation of the vault Engine (ADR-0025). Records route to one of N independent bbolt files by a hash of bucket and key, each shard living at vault/aa/bb/cc/aabbcc.vlt; values compress with zstd at the fastest level. Each shard is its own failure domain: losing one file loses 1/N of the keyspace, never the store. Cross-shard atomicity is not provided: an Update commits each touched shard independently, so recovery-sensitive callers stage durable intent before destructive writes.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Open ¶
Open opens (or creates) the sharded vault rooted at dir with the given quota. The shard count derives from the quota and is recorded in the layout manifest on first open; later opens reuse the recorded count.
Types ¶
type Option ¶
type Option func(*engine)
Option configures optional engine behavior at open time.
func WithRootRecordRecovery ¶
func WithWordFilter ¶
WithWordFilter enables per-shard binary-fuse membership filters over the term keys of one bucket (PERF-READ-01): a fan-out read seeks only the shards whose filter admits the term prefix, skipping the shards that provably hold no posting for it. bucket names the filtered collection and keyWidth is the term-prefix length; the assembly layer supplies both so the storage engine stays independent of the RWI key layout (ADR-0039).
Source Files
¶
- bucket_key_page.go
- bucket_last_key.go
- bucket_page.go
- bucket_presence.go
- bucket_value_read.go
- bucket_value_size.go
- clean_shutdown.go
- collection_length_changes.go
- compaction.go
- compress.go
- context_read_gate.go
- maintenance_headroom.go
- manifest.go
- migrate.go
- read_defer.go
- root_record_recovery.go
- shard_ownership.go
- shardvault.go
- split.go
- startup_progress.go
- stored_value_corruption.go
- wordfilter.go
- write_admission.go