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 6b6fb1722 [ISSUE #6722] Bugfix timer thread has error when timer not 
enable (#6723)
6b6fb1722 is described below

commit 6b6fb172248981e62a25abaac3e02b29547643a8
Author: schopenhauerz <[email protected]>
AuthorDate: Wed May 10 16:23:12 2023 +0800

    [ISSUE #6722] Bugfix timer thread has error when timer not enable (#6723)
    
    * bugfix broker boot succes but get fail ip addr
    
    bug:
    broker ip addr(IPV4) get fail  after broker start up;
    fix:
    add compare ,continue  when ip is start with '0.' ;
    like :
    The broker[broker-a, 0.0.1.1:10911] boot success. serializeType=JSON and 
name server is 127.0.0.1:9876;
    
    * add timerstore nil condition when timer no enable
    
    add timerstore nil condition when timer no enable
    
    * close timer schedule thread when timer no enable
    
     close timer schedule thread when timer no enable
    
    * format code
    
    format code
---
 .../java/org/apache/rocketmq/broker/BrokerController.java    |  5 ++++-
 .../org/apache/rocketmq/broker/slave/SlaveSynchronize.java   | 12 +++++++-----
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git 
a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java 
b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java
index fc76e67b6..22c403eaf 100644
--- a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java
+++ b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java
@@ -646,8 +646,11 @@ public class BrokerController {
                                 
BrokerController.this.getSlaveSynchronize().syncAll();
                                 lastSyncTimeMs = System.currentTimeMillis();
                             }
+                            
                             //timer checkpoint, latency-sensitive, so sync it 
more frequently
-                            
BrokerController.this.getSlaveSynchronize().syncTimerCheckPoint();
+                            if (messageStoreConfig.isTimerWheelEnable()) {
+                                
BrokerController.this.getSlaveSynchronize().syncTimerCheckPoint();
+                            }
                         } catch (Throwable e) {
                             LOG.error("Failed to sync all config for slave.", 
e);
                         }
diff --git 
a/broker/src/main/java/org/apache/rocketmq/broker/slave/SlaveSynchronize.java 
b/broker/src/main/java/org/apache/rocketmq/broker/slave/SlaveSynchronize.java
index 8cbdc2555..b9de5173b 100644
--- 
a/broker/src/main/java/org/apache/rocketmq/broker/slave/SlaveSynchronize.java
+++ 
b/broker/src/main/java/org/apache/rocketmq/broker/slave/SlaveSynchronize.java
@@ -215,13 +215,15 @@ public class SlaveSynchronize {
         String masterAddrBak = this.masterAddr;
         if (masterAddrBak != null) {
             try {
-                TimerCheckpoint checkpoint = 
this.brokerController.getBrokerOuterAPI().getTimerCheckPoint(masterAddrBak);
-                if (null != this.brokerController.getTimerCheckpoint()) {
-                    
this.brokerController.getTimerCheckpoint().setLastReadTimeMs(checkpoint.getLastReadTimeMs());
-                    
this.brokerController.getTimerCheckpoint().setMasterTimerQueueOffset(checkpoint.getMasterTimerQueueOffset());
+                if (null != 
brokerController.getMessageStore().getTimerMessageStore()) {
+                    TimerCheckpoint checkpoint = 
this.brokerController.getBrokerOuterAPI().getTimerCheckPoint(masterAddrBak);
+                    if (null != this.brokerController.getTimerCheckpoint()) {
+                        
this.brokerController.getTimerCheckpoint().setLastReadTimeMs(checkpoint.getLastReadTimeMs());
+                        
this.brokerController.getTimerCheckpoint().setMasterTimerQueueOffset(checkpoint.getMasterTimerQueueOffset());
+                    }
                 }
             } catch (Exception e) {
-                LOGGER.error("SyncSubscriptionGroup Exception, {}", 
masterAddrBak, e);
+                LOGGER.error("syncTimerCheckPoint Exception, {}", 
masterAddrBak, e);
             }
         }
     }

Reply via email to