Repository navigation
Conversation
Keep the bundled WAL-reset fix while restoring locked CI builds. Align nested examples, cookbook, fuzz and native probes with 0.39. Refs #79
Serial catalog publication queues cold Cells behind repeated I/O. Share catalog updates while preserving original pins and recovery. Join accepted callbacks across cancellation and respect metadata caps.
This branch has not been 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.
New Cells already initialize SQLite and publish an authoritative root before serving. With bundle publication installed, the reference adapter then serializes five enrollment PUTs per Cell under the node catalog lock. A burst repeats that dependent object-store work for every Cell.
Add one epoch-owned, bounded enrollment worker and an optional
NodeBundleAuthority::bind_batchhook. Up to eight ready activations share provisional/Open catalog publication while each Cell retains its original pin CAS. The reference adapter opts in. Individual callbacks keep their independent response timing, and oversized catalog or pin-metadata cohorts decline before enrollment writes so individually admissible Cells still progress. Accepted callbacks survive caller cancellation and join at epoch shutdown; existing metadata ceilings, fences, recovery obligations, formats and object paths remain intact.Fresh measurements
Controlled local A/B diagnostics run both adapters in one Rust 1.97.0 test binary, using temporary SQLite and a fresh in-memory object store with per-call delay. Each small Cell initializes one counter plus runtime metadata. Full-path timings include catalog, owner, SQLite, initial root, enrollment and the first SQL read. Three fresh runs per setting provide 24 observations for each eight-Cell burst.
Eight already-ready enrollments use 12 PUTs instead of 40. Full eight-Cell creation uses two cohorts, reducing total PUTs from 96 to 72. Single-Cell operation counts are unchanged; its latency samples do not establish a consistent improvement. Warm leased reads add zero object-store operations, and every initialized root restores correctly. The shared workstation runs other workloads; provider/HTTP/three-VM capacity and ordinary write throughput retain their separate qualification requirements.
The creation analysis and 60 raw measurement records with source checksums include the command, scope, complete single-Cell results and percentile definition. Moving creation into a request handler preserves its durable cost; embeddings must allow bounded concurrency across different Cells to benefit.
Validation
cargo package --workspace --locked; CI provides the broad workspace/provider suites.A separate prerequisite commit aligns the nested builder/cookbook/fuzz/native-probe SQLite locks with #79, repairing its existing locked-CI failures. The queued-renewal fixture also gets an explicitly older initial issue time to avoid a same-millisecond renewal race; its production 30-second advertisement lifetime, one-second local deadline, queued workload and assertions remain unchanged.