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

Reply via email to