Skip to content

Rust MongoDB server: fix-one batch snapshot of rm-batch (298bf6b8, 1 commits) - #2447

Merged
jdrumgoole merged 5 commits into
mainfrom
rm-batch-ci
Nov 8, 2026
Merged

jdrumgoole merged 5 commits into
mainfrom
rm-batch-ci

Conversation

@jdrumgoole

Copy link
Copy Markdown
Owner
  • Rust MongoDB server: a spilled sort's file is mongod's, chunked and snappy-compressed (RM-325)

A snapshot of rm-batch, frozen on rm-batch-ci so the lanes' later pushes don't cancel its CI. Each commit passed scripts/gate_rm.py locally. This run is their cross-platform check. It will be merged with a merge commit, pinned to the commit CI passed.

🤖 Generated with Claude Code

jdrumgoole and others added 5 commits November 7, 2026 19:03
…nappy-compressed (RM-325)

The sorter writes mongod 8.2's SortedFileWriter format: serializeForSorter
records in 64 KiB chunks, each compressed by a port of mongod's snappy
1.1.10 (CRC32-C hash). spilledDataStorageSize is now mongod's to the byte
for a sort that sees mongod's input order and for $bucketAuto. RM-325
stays open for the $group and $setWindowFields spills; filed RM-395,
RM-396, RM-397.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The hard-kill transactions test failed once under load: a snapshot read at
the first ack's time (16 min before the run) was refused as too old.
mongod 8.2.11 keeps history across kill -9 (probed), so the expectation
stands. Not reproduced in 28 runs; the test now asserts its ack file is
fresh and every ack lies in the run's wall-clock window, so a recurrence
names its cause.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QpXX74nAaz1CHpMnJwfkJp
…load, spillToDisk per chunk (RM-326, in part)

Filed RM-397, RM-398, RM-399.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…m64-only

mongod 8.2's spill sizes differ by platform (in-order sort: 130545 bytes
on arm64, 131252 on x86_64), and each platform's mongod is the reference
(Joe, 2026-11-07). RM-325's regression test keeps every case on arm64 and
drops the after-$project case on x86_64, where it is RM-402's gap (122288
vs 122253, CI). RM-397's gap exists on arm64 only (x86_64 agrees).
Verified on arm64: regression passes, RM-402 ELSEWHERE, RM-397 OPEN.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QpXX74nAaz1CHpMnJwfkJp
@jdrumgoole
jdrumgoole merged commit 4dc4cad into main Nov 8, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant