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);
}
}
}