The GitHub Actions job "Coverage" on rocketmq.git/develop has failed.
Run started by GitHub user RongtongJin (triggered by RongtongJin).

Head commit for run:
fb1b30cbd2edeed713804d10f8cf0c12f80552a5 / hqbfz 
<[email protected]>
[ISSUE #11156]fix(timer): persist TimelineRollService checkpoint to avoid 
repeated and loss (#11157)

* fix(timer): persist TimelineRollService checkpoint to avoid repeated rolls

Scan hour-sized windows from a RocksDB checkpoint instead of sleeping a fixed 
interval, so delayed scans do not skip or re-roll the same timer messages.

Co-authored-by: Cursor <[email protected]>

* Persist the roll checkpoint only after the messages are reput

TimelineRollService used to write the checkpoint right after a scan, so a crash
between the scan and the reput dropped the whole window. The reput service now
owns the write and takes the key to write, which lets the roll queue persist its
own checkpoint the same way the expired queue already does. Roll keeps its scan
frontier in memory and advances it per window, as TimelineForwardService does.

Without a persisted roll checkpoint the frontier is derived from the delivery
checkpoint plus one maximum delay, so a broker that ran without this key
re-scans its windows instead of skipping them.

Co-authored-by: Cursor <[email protected]>

* Drop timerRocksDBRollIntervalHours and back off on roll errors

A checkpoint driven loop advances one window per window width, so the width and
the cadence are the same quantity and only one config can define it. Keep
timerRocksDBRollRangeHours as the scan window width and remove
timerRocksDBRollIntervalHours, which no longer has a role of its own.

The outer catch used to log and retry immediately, spinning the thread while
rocksdb keeps throwing.

Co-authored-by: Cursor <[email protected]>

* fix

* Retrigger CI

Co-authored-by: Cursor <[email protected]>

* Honor timerEnableRetryUntilSuccess in the RocksDB timer reput path

Reuse the file-wheel flag so a recoverable put keeps retrying instead of
advancing the roll checkpoint after a fixed number of failures.

Co-authored-by: Cursor <[email protected]>

* Retrigger CI

Co-authored-by: Cursor <[email protected]>

---------

Co-authored-by: hqbfzwang <[email protected]>
Co-authored-by: Cursor <[email protected]>

Report URL: https://github.com/apache/rocketmq/actions/runs/35684190790

With regards,
GitHub Actions via GitBox

Reply via email to