Move slot creation to before bootstrap - #84
Open
harshil-goel wants to merge 12 commits into
Open
Conversation
|
|
[bootstrap] mode/backup_name/object_store_parallelism, merged with the matching flags CLI-first. Unset parallelism leaves ObjectStoreSource's min(4, num_cpus) clamp alone instead of overriding it with a flat 4, and --bootstrap-mode object_store parses again (clap was kebab-casing it). Also carries the in-flight pre-flight gate, --bootstrap-wal-from-archive and the Linux-only build guard from the same files. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
collect waited for all 118 parts before anyone read a result, so a part that died at the 60s reqwest body deadline stayed invisible for the 47 minutes the rest took to drain. try_collect returns on the first error and drops the stream, cancelling the parts still in flight. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Both pool sizes were CLI-only and defaulted to 1, which caps a cross-region ClickHouse at one batch per insert round trip. entrypoint.sh was already injecting 4 inserters to work around it, so the binary now carries that default and decoders stay at 1 to preserve per-table WAL order. Flags become Option and merge CLI-first over [ch] decoder_pool_size and inserter_pool_size. The scattered .max(1) at each reader is replaced by one clamp at resolution that warns instead of silently bumping. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
detoast_heap takes a ToastResolver, not a ShadowCatalog, so the prerequisite both plans named for the bootstrap decode pool is already done. Records the two items the Option B shape omits, seq assignment moving upstream of the pool and concurrent TOAST spool writers. Also softens the rfn contiguity claim, which buys seq economy rather than correctness. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
perf annotate and --sort=srcline had no source attribution on release binaries, so hot pipeline stages could only be read at the symbol level. line-tables-only keeps the debuginfo small and leaves codegen untouched. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
entry() takes an owned key, so the hub cloned two Arcs for every row it handled, hits included. contains_key plus get_mut hashes twice on the miss path and not at all extra on the hit path. Marked TODO because the win is unmeasured, the refcount lines may well be uncontended. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The tar pump read straight off the live S3 body, so request lifetime tracked how fast the sink drained rather than how fast the object downloaded. walrus caps a request at 60s and a 700-800MB part takes longer than that to clear the batcher, so the body died mid-part and took the whole bootstrap with it. Drain the part to the caller's scratch root first, then decode from the file. The GET now completes at network speed. Bytes are spooled still compressed, so scratch tracks object size, and the file is unlinked right after writing so no error path can leak it. Costs parallelism x part_size of disk, which is a reason to keep object_store_parallelism low on large parts. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
rustdoc reads [`plans/config.md`] as an intra-doc path and cargo doc runs with -D warnings, so it failed the lint job. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
No description provided.