The GitHub Actions job "Build and Run Tests by Bazel" on rocketmq.git/develop has succeeded. Run started by GitHub user RongtongJin (triggered by RongtongJin).
Head commit for run: 29a62c46c97f2b9d2cc69a75066ea42304579593 / guyinyou <[email protected]> [ISSUE #9735] Add TimerWheel snapshot mechanism for reliable recovery (#9736) * feat(store): add timer wheel snapshot mechanism for recovery - Add snapshot backup and recovery functionality to TimerWheel - Add configuration options for snapshot control with backward compatibility - Implement atomic flush operations with synchronization locks - Add snapshot file management (creation, cleanup, selection) - Support recovery from snapshot files to avoid rebuilding TimerWheel - Add TimerFlushService.flush() method for manual flush operations This addresses the issue where discrete TimerWheel state cannot be recovered from TimerLog alone, ensuring data consistency and improving recovery performance. Configuration changes: - timerWheelSnapshotFlush: enable/disable snapshot functionality (default: false) - timerWheelDefaultFlush: enable/disable default flush behavior (default: true) - timerWheelSnapshotIntervalMs: snapshot creation interval (default: 10s) Change-Id: I801ce7ca6330d02aefcae905e59e1e2b7642ebf5 * fix Change-Id: I97968a6b87d55c73ce871b3522c67b8b543d6eb2 * fix Change-Id: Id751e63ddd20ca6223d83d8057623f19e54fa3ca * fix Change-Id: I8099c89ebded4f5b66eb98537396afc75b147583 * fix Change-Id: I1610f1ebba7b05de8517111155f2116025c65e1e * fix Change-Id: Iad1171bf7805102f0a87b9623de048fc8bbe9fce * fix Change-Id: Ic1ef006f709006a0f30c734cb4426d3aea57eccd * Acquire the lock only when the timerWheelSnapshotFlush is true Change-Id: I1c7c2895efebfef0185411c0630bbd2da23ce3c7 * fix Change-Id: I73e9ecd37f25bda6d6d2f5191bd11ebb8d02c39e --------- Co-authored-by: guyinyou <[email protected]> Co-authored-by: RongtongJin <[email protected]> Report URL: https://github.com/apache/rocketmq/actions/runs/19226031684 With regards, GitHub Actions via GitBox
