fix(storage): compact authenticated construction detail records - #1176
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Private construction detail runs reserve 255 bytes for each label or route, even for short names. Store the exact UTF-8 name bytes in new version-7 sessions while preserving every UUID and continuing genuine version-6 sessions with their original fixed codec. Authentication, merge, recovery, and canonical encoding use the session-bound codec and count actual wire bytes and decoded rows. A genuine version-6 crash before initial checkpoint installation recovers its codec from a complete, matching initial temporary; unknown, conflicting, or changed authority is rejected without promoting temporary contents.
An equal-input 1,024-node/1,024-edge fixture crosses multiple merge levels and resumes before shape, after shape, and after publication. Detail EOF drops from 589,824 to 74,752 bytes; measured construction peak drops from 2,170,880 to 1,134,592 bytes. Exact allocation and reference inventories include zero-byte files, with persistent lifecycle/writer locks initialized before the fixture baseline. This establishes a representation reduction; #901/#900/#745 retain host-capacity qualification.
Validation includes codec boundaries and malformed input, both-version crash/cancel/corruption/retry, 89 affected storage tests, exact public construction/reopen/portable verification/import results including nullable properties and ordinals, and full lifecycle 1x/2x/4x phase accounting. The existing application-byte fixture uses proportionally more rows to exceed its unchanged fixed-overhead floor; phase ceilings remain enforced. The tiny construction test now derives its exact fsync count and tighter merge footprint bound from compact wire sizes, replacing legacy padded-size assumptions. Workspace Clippy, final formatting,
make pre-push-fast, and gate-registry checks pass. Exact-head Bazel CI also runs the real default tiny lifecycle and full-owner 1x/2x/4x growth workload before merge.Closes #1172