test(ilm): cover cancelled continuation resume - #5294
Merged
Conversation
Co-Authored-By: heihutu <heihutu@gmail.com>
Contributor
|
CLA requirements are satisfied for this pull request. |
houseme
marked this pull request as ready for review
July 26, 2026 12:00
houseme
enabled auto-merge (squash)
July 26, 2026 12:01
This was referenced Jul 26, 2026
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.
Related Issues
Related to rustfs/backlog#1478, rustfs/backlog#1479, and rustfs/backlog#1481.
Summary of Changes
Extends the existing manual lifecycle transition active-cancel regression so the same production scanner path now proves the opaque continuation token returned after cancellation can resume the run and scan only the remaining object.
This is test-only. It keeps the existing cancel behavior assertions, then reuses the returned continuation token in a second dry-run manual transition call and checks that the resumed report is not cancelled, is not truncated, scans one remaining object, and returns no further continuation token.
Verification
cargo fmt --all --checkgit diff --checkcargo test -p rustfs-ecstore manual_transition_active_cancel_returns_resume_cursor_after_progress --lib -- --nocaptureImpact
No production behavior, API, storage format, or compatibility impact. This only strengthens regression coverage for manual transition cancel + continuation resume semantics.
Additional Notes
Draft because full
make pre-prwas not run in this slice. Focused validation passed with the existing macOS linker warning:ld: __eh_frame section too large.Adversarial validation: correctness attacked the cancel checkpoint/resume boundary and confirmed the second call consumes only the remaining object; simplicity attacked adding a new helper or new test file and kept the diff inside the existing regression; test-coverage attacked revert-detection, where removing the continuation-resume block would leave this behavior unpinned.