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 d3485f9f65b..12f83b09921 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java @@ -883,6 +883,10 @@ public boolean recoverAndInitService() throws CloneNotSupportedException { result = this.messageStore.load(); } + if (brokerConfig.isPopConsumerKVServiceInit()) { + result = result && popConsumerService.load(); + } + if (messageStoreConfig.isTimerWheelEnable()) { result = result && this.timerMessageStore.load(); } diff --git a/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerKVStore.java b/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerKVStore.java index 33072d699b5..6ed9c6bec36 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerKVStore.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerKVStore.java @@ -19,6 +19,10 @@ import java.util.List; public interface PopConsumerKVStore { + /** + * Load the kv store + */ + boolean load(); /** * Starts the storage service. diff --git a/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerRocksdbStore.java b/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerRocksdbStore.java index 135b914674e..1e5b63cf305 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerRocksdbStore.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerRocksdbStore.java @@ -103,6 +103,11 @@ protected boolean postLoad() { return true; } + @Override + public boolean load() { + return start(); + } + public String getFilePath() { return this.dbPath; } diff --git a/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerService.java b/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerService.java index 1138ff4afe9..70ed13a98e0 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerService.java @@ -692,6 +692,10 @@ public PopConsumerLockService getConsumerLockService() { return consumerLockService; } + public boolean load() { + return this.popConsumerStore.load(); + } + @Override public void start() { if (!this.popConsumerStore.start()) {