diff --git a/store/src/main/java/org/apache/rocketmq/store/CommitLog.java b/store/src/main/java/org/apache/rocketmq/store/CommitLog.java index 3b92f1a745b..01d0739d157 100644 --- a/store/src/main/java/org/apache/rocketmq/store/CommitLog.java +++ b/store/src/main/java/org/apache/rocketmq/store/CommitLog.java @@ -795,7 +795,7 @@ public void recoverAbnormally(long maxPhyOffsetOfConsumeQueue) throws RocksDBExc int size = dispatchRequest.getMsgSize(); if (dispatchRequest.isSuccess()) { // Check commitlog offset validity if enabled - if (checkCommitLogOffsetOnRecover) { + if (size > 0 && checkCommitLogOffsetOnRecover) { if (dispatchRequest.getCommitLogOffset() < mappedFile.getFileFromOffset() || dispatchRequest.getCommitLogOffset() > mappedFile.getFileFromOffset() + mappedFile.getFileSize()) { log.warn("found illegal commitlog offset {} in {}, current pos={}, it will be truncated.",