Skip to content

Commit c5be5c8

Browse files
authored
[ISSUE #9304] Resolve cold data read control issue in DefaultMessageStore (#9305)
1 parent 895489d commit c5be5c8

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
import org.apache.rocketmq.store.ha.autoswitch.AutoSwitchHAService;
6565
import org.apache.rocketmq.store.lock.AdaptiveBackOffSpinLockImpl;
6666
import org.apache.rocketmq.store.logfile.MappedFile;
67+
import org.apache.rocketmq.store.queue.ConsumeQueueInterface;
68+
import org.apache.rocketmq.store.queue.CqUnit;
69+
import org.apache.rocketmq.store.queue.ReferredIterator;
6770
import org.apache.rocketmq.store.util.LibC;
6871
import org.rocksdb.RocksDBException;
6972

@@ -2442,16 +2445,15 @@ public boolean isMsgInColdArea(String group, String topic, int queueId, long off
24422445
return false;
24432446
}
24442447
try {
2445-
ConsumeQueue consumeQueue = (ConsumeQueue) defaultMessageStore.findConsumeQueue(topic, queueId);
2448+
ConsumeQueueInterface consumeQueue = defaultMessageStore.findConsumeQueue(topic, queueId);
24462449
if (null == consumeQueue) {
24472450
return false;
24482451
}
2449-
SelectMappedBufferResult bufferConsumeQueue = consumeQueue.getIndexBuffer(offset);
2450-
if (null == bufferConsumeQueue || null == bufferConsumeQueue.getByteBuffer()) {
2452+
ReferredIterator<CqUnit> bufferConsumeQueue = consumeQueue.iterateFrom(offset, 1);
2453+
if (null == bufferConsumeQueue || !bufferConsumeQueue.hasNext()) {
24512454
return false;
24522455
}
2453-
long offsetPy = bufferConsumeQueue.getByteBuffer().getLong();
2454-
return defaultMessageStore.checkInColdAreaByCommitOffset(offsetPy, getMaxOffset());
2456+
return defaultMessageStore.checkInColdAreaByCommitOffset(bufferConsumeQueue.next().getPos(), getMaxOffset());
24552457
} catch (Exception e) {
24562458
log.error("isMsgInColdArea group: {}, topic: {}, queueId: {}, offset: {}",
24572459
group, topic, queueId, offset, e);

0 commit comments

Comments
 (0)