diegomrsantos opened a new pull request, #4240: URL: https://github.com/apache/iggy/pull/4240
## Which issue does this PR address? Closes #4239. Relates to #4128 and #4130. ## Rationale The existing storage purge test uses its own cleanup sequence, while cluster simulation retains consumer offsets in memory across restarts. Testing recovery after power loss needs the production cleanup decisions and state reloaded from the simulated filesystem. ## What changed? Production purge now shares its offset cleanup and completion phase with a focused `SimStorage` harness through `DurableStorage`, preserving the current behavior after errors, including #4128. The harness starts after the message reset and reloads `purge.gen`, individual consumer offsets, and group offsets through shared production recovery code. Controls cover both offset durability policies, cleanup of files absent from the live maps, and `Next` returning the complete fresh history after power loss. Fresh messages are durable before the crash, and their persistence leaves the separate offset directories untouched; the failure regression and checks of retries with acknowledged fresh writes remain followup work. ## Local Execution - Passed `cargo fmt --all` and `cargo sort --no-format --workspace`. - Passed `cargo clippy --offline --all-features --all-targets -- -D warnings` across the workspace. - Passed `cargo test --offline -p journal -p partitions -p server -p simulator --lib`: 1,009 passed, 7 ignored on macOS. The server suite ran outside the sandbox to allow its local HTTP listener. - Passed `taplo fmt --check` over all tracked TOML files. - Documentation generated with `--cap-lints warn`. The strict documentation link check encounters existing unresolved references in unmodified journal and server files. - Pre-commit hooks are not installed; the checks above ran manually. ## AI Usage Codex generated the implementation and tests and drafted this description. Local verification is recorded above. Submitted as a draft for author review. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
