Skip to content

[ISSUE #9174]🐛Restore mapped-file retirement fixture modules for CI - #9175

Merged
mxsm merged 1 commit into
mainfrom
mxsm/issue-9174-retirement-fixture-test-cases
Aug 10, 2026
Merged

[ISSUE #9174]🐛Restore mapped-file retirement fixture modules for CI#9175
mxsm merged 1 commit into
mainfrom
mxsm/issue-9174-retirement-fixture-test-cases

Conversation

@mxsm

@mxsm mxsm commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Which Issue(s) This PR Fixes(Closes)

Brief Description

Move the mapped-file retirement fixture source modules from the ignored fixture_corpus/build/ directory to fixture_corpus/test_cases/.

Reference edges.rs, frontiers.rs, and samples.rs through explicit #[path = "test_cases/..."] attributes in fixture_corpus/build.rs. This ensures clean Git checkouts contain every declared test module without adding an exception to the repository-wide build-output ignore rule. The generated fixture bytes and SHA-256 manifest remain unchanged.

How Did You Test This Change?

  • cargo fmt --all -- --check - passed
  • cargo test -p rocketmq-store-local --lib mapped_file::retirement::fixture_corpus::tests::checked_in_lifecycle_corpus_is_byte_exact_decodable_and_hash_complete -- --exact - passed (1 passed)
  • cargo clippy --workspace --no-deps --all-targets --all-features -- -D warnings - passed
  • cargo +nightly-2026-07-05 check --locked --all-targets --all-features from fuzz/ - passed
  • git diff --cached --check - passed

Summary by CodeRabbit

  • Tests
    • Added comprehensive deterministic test fixtures for mapped-file retirement workflows.
    • Added coverage for compaction, recovery, corruption, truncation, sequence limits, marker handling, quarantine, and path replacement scenarios.
    • Added sample records and metadata covering initialization, bootstrap, generation transitions, retirement stages, and lifecycle snapshots.

@mxsm
mxsm merged commit 47ed46c into main Aug 10, 2026
20 of 26 checks passed
@rocketmq-rust-robot rocketmq-rust-robot added the bug🐛 Something isn't working label Aug 10, 2026
@rocketmq-rust-bot

Copy link
Copy Markdown
Collaborator

🔊@mxsm 🚀Thanks for your contribution🎉!

💡CodeRabbit(AI) will review your code first🔥!

Note

🚨The code review suggestions from CodeRabbit are to be used as a reference only, and the PR submitter can decide whether to make changes based on their own judgment. Ultimately, the project management personnel will conduct the final code review💥.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 56a431e3-9552-4c76-95d1-72dd0d9e4728

📥 Commits

Reviewing files that changed from the base of the PR and between d7c0455 and 63cbff2.

📒 Files selected for processing (4)
  • rocketmq-store-local/src/mapped_file/retirement/fixture_corpus/build.rs
  • rocketmq-store-local/src/mapped_file/retirement/fixture_corpus/test_cases/edges.rs
  • rocketmq-store-local/src/mapped_file/retirement/fixture_corpus/test_cases/frontiers.rs
  • rocketmq-store-local/src/mapped_file/retirement/fixture_corpus/test_cases/samples.rs

Walkthrough

The change restores retirement fixture modules through explicit paths and adds deterministic sample, edge-case, and frontier fixtures for ledger, acknowledgement, snapshot, marker, compaction, and tail-repair validation.

Changes

Retirement fixture corpus

Layer / File(s) Summary
Sample data and module wiring
rocketmq-store-local/src/mapped_file/retirement/fixture_corpus/build.rs, rocketmq-store-local/src/mapped_file/retirement/fixture_corpus/test_cases/samples.rs
Explicit module paths expose deterministic records, metadata, identifiers, and lifecycle snapshot helpers.
Encoding and validation edge cases
rocketmq-store-local/src/mapped_file/retirement/fixture_corpus/test_cases/edges.rs
Fixtures cover acknowledgement ordering, reconstruction, truncation, corruption, overflow, oversized fields, reserved data, and incomplete marker pairs.
Compaction and tail-repair frontiers
rocketmq-store-local/src/mapped_file/retirement/fixture_corpus/test_cases/frontiers.rs
Fixtures cover compaction, tail repair, marker commits, orphan generations, acknowledged suffix loss, and invalid repaired records.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Suggested labels: testing🧪

Poem

A rabbit checks each ledger byte,
Through torn slots in the moonlit night.
Frontiers turn and tails repair,
Snapshots guard their checksums there.
Three modules hop back into sight—
CI now follows paths just right.

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mxsm/issue-9174-retirement-fixture-test-cases

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@rocketmq-rust-bot rocketmq-rust-bot added approved PR has approved and removed ready to review waiting-review waiting review this PR labels Aug 10, 2026
@mxsm
mxsm deleted the mxsm/issue-9174-retirement-fixture-test-cases branch August 15, 2026 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI review first Ai review pr first approved PR has approved auto merge bug🐛 Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug🐛] Restore mapped-file retirement fixture modules for CI

3 participants