Skip to content

Commit 523b60c

Browse files
authored
fix(replica): resolve abnormal slow recover
Add PhysicMsgTimestamp update logic when replicas recovering from the abnormal case. Closes alibaba#1456
2 parents 90bbda8 + f590bd5 commit 523b60c

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

store/src/main/java/org/apache/rocketmq/store/ConsumeQueue.java

+5
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.apache.rocketmq.common.constant.LoggerName;
2323
import org.apache.rocketmq.logging.InternalLogger;
2424
import org.apache.rocketmq.logging.InternalLoggerFactory;
25+
import org.apache.rocketmq.store.config.BrokerRole;
2526
import org.apache.rocketmq.store.config.StorePathConfigHelper;
2627

2728
public class ConsumeQueue {
@@ -397,6 +398,10 @@ public void putMessagePositionInfoWrapper(DispatchRequest request) {
397398
boolean result = this.putMessagePositionInfo(request.getCommitLogOffset(),
398399
request.getMsgSize(), tagsCode, request.getConsumeQueueOffset());
399400
if (result) {
401+
if (this.defaultMessageStore.getMessageStoreConfig().getBrokerRole() == BrokerRole.SLAVE ||
402+
this.defaultMessageStore.getMessageStoreConfig().isEnableDLegerCommitLog()) {
403+
this.defaultMessageStore.getStoreCheckpoint().setPhysicMsgTimestamp(request.getStoreTimestamp());
404+
}
400405
this.defaultMessageStore.getStoreCheckpoint().setLogicsMsgTimestamp(request.getStoreTimestamp());
401406
return;
402407
} else {

0 commit comments

Comments
 (0)