This is an automated email from the ASF dual-hosted git repository.

jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new fbe9f733b9 [ISSUE #9721] Fix TimerDequeueGetService thread not exiting 
after shutdown
fbe9f733b9 is described below

commit fbe9f733b96b3c28d789bf1b81108cb490e7d83d
Author: rongtong <jinrongton...@mails.ucas.ac.cn>
AuthorDate: Sun Sep 21 09:56:23 2025 +0800

    [ISSUE #9721] Fix TimerDequeueGetService thread not exiting after shutdown
    
    - Add isRunningDequeue() check in checkDequeueLatch while loop
    - Exit loop immediately when service is stopped to avoid thread blocking
    - Ensure moveReadTime is not executed during shutdown process
    - Improve system stability and reliability
---
 .../main/java/org/apache/rocketmq/store/timer/TimerMessageStore.java | 5 +++++
 1 file changed, 5 insertions(+)

diff --git 
a/store/src/main/java/org/apache/rocketmq/store/timer/TimerMessageStore.java 
b/store/src/main/java/org/apache/rocketmq/store/timer/TimerMessageStore.java
index f021237751..80184422e0 100644
--- a/store/src/main/java/org/apache/rocketmq/store/timer/TimerMessageStore.java
+++ b/store/src/main/java/org/apache/rocketmq/store/timer/TimerMessageStore.java
@@ -953,6 +953,11 @@ public class TimerMessageStore {
         }
         int checkNum = 0;
         while (true) {
+            if (!isRunningDequeue()) {
+                LOGGER.info("Not Running dequeue, skip checkDequeueLatch for 
delayedTime:{}", delayedTime);
+                break;
+            }
+            
             if (dequeuePutQueue.size() > 0
                 || !checkStateForGetMessages(AbstractStateService.WAITING)
                 || !checkStateForPutMessages(AbstractStateService.WAITING)) {

Reply via email to