You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by "zjncs (via GitHub)" <gi...@apache.org> on 2026/09/05 06:58:06 UTC

[PR] [ISSUE #11013] Stop timer WAL scheduler during RocksDB shutdown [rocketmq]

zjncs opened a new pull request, #11019:
URL: https://github.com/apache/rocketmq/pull/11019

   ## Which Issue(s) This PR Fixes
   
   Fixes #11013
   
   ## Brief Description
   
   `MessageRocksDBStorage.postLoad()` schedules a periodic timer-WAL flush, but `preShutdown()` leaves the executor and task running. Reloading the RocksDB storage schedules another task on every cycle, and the non-daemon scheduler survives after RocksDB resources close.
   
   This change stops the scheduler during shutdown and recreates it before a subsequent load, preventing duplicate flush tasks while preserving reload support.
   
   ## How Did You Test This Change?
   
   - Base SHA: `$(git rev-parse develop)`
   - Confirmed current `MessageRocksDBStorage` schedules in `postLoad()` and had an empty `preShutdown()`.
   - `git diff --check` passed.
   - Maven is unavailable in this environment, so the required test suite was not run; CI should validate.
   
   ## Risk
   
   Low; scheduler lifecycle now follows storage lifecycle, and reload recreates the executor before rescheduling.
   
   AI-assisted contribution; implementation and verification performed against current `develop`.


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org