Skip to content

Commit cc8823c

Browse files
absolute8511liwen.2022RongtongJin
authored
[ISSUE #5883] DLedger commit log should override the getData (#5879)
* fix: dledger commit log should override the getData Change-Id: I665c5b9d7e96c5b7ccd035b32272be7223d7f454 * fix: adjust timer test case for dledger * test: remove some test case to speed up unit test Change-Id: I5aa348ab17977ce1f0e080f7801b28797ef82af9 * test: remove other timer dledger test * Revert TimerMessageStoreTest --------- Co-authored-by: liwen.2022 <[email protected]> Co-authored-by: RongtongJin <[email protected]>
1 parent 18fcce6 commit cc8823c

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

store/src/main/java/org/apache/rocketmq/store/dledger/DLedgerCommitLog.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,23 @@ public SelectMappedBufferResult getData(final long offset, final boolean returnF
264264

265265
return null;
266266
}
267+
268+
@Override
269+
public boolean getData(final long offset, final int size, final ByteBuffer byteBuffer) {
270+
if (offset < dividedCommitlogOffset) {
271+
return super.getData(offset, size, byteBuffer);
272+
}
273+
if (offset >= dLedgerFileStore.getCommittedPos()) {
274+
return false;
275+
}
276+
int mappedFileSize = this.dLedgerServer.getdLedgerConfig().getMappedFileSizeForEntryData();
277+
MmapFile mappedFile = this.dLedgerFileList.findMappedFileByOffset(offset, offset == 0);
278+
if (mappedFile != null) {
279+
int pos = (int) (offset % mappedFileSize);
280+
return mappedFile.getData(pos, size, byteBuffer);
281+
}
282+
return false;
283+
}
267284

268285
private void recover(long maxPhyOffsetOfConsumeQueue) {
269286
dLedgerFileStore.load();

0 commit comments

Comments
 (0)