You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by ji...@apache.org on 2023/03/06 01:20:57 UTC
[rocketmq] branch develop updated: [ISSUE #5883] DLedger commit log should override the getData (#5879)
This is an automated email from the ASF dual-hosted git repository.
jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new cc8823cf6 [ISSUE #5883] DLedger commit log should override the getData (#5879)
cc8823cf6 is described below
commit cc8823cf62a7137784bbe01562cd68118f3eac89
Author: Vincent Lee <co...@gmail.com>
AuthorDate: Mon Mar 6 09:20:41 2023 +0800
[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 <li...@bytedance.com>
Co-authored-by: RongtongJin <ji...@mails.ucas.ac.cn>
---
.../apache/rocketmq/store/dledger/DLedgerCommitLog.java | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/store/src/main/java/org/apache/rocketmq/store/dledger/DLedgerCommitLog.java b/store/src/main/java/org/apache/rocketmq/store/dledger/DLedgerCommitLog.java
index 626402779..39906eae0 100644
--- a/store/src/main/java/org/apache/rocketmq/store/dledger/DLedgerCommitLog.java
+++ b/store/src/main/java/org/apache/rocketmq/store/dledger/DLedgerCommitLog.java
@@ -264,6 +264,23 @@ public class DLedgerCommitLog extends CommitLog {
return null;
}
+
+ @Override
+ public boolean getData(final long offset, final int size, final ByteBuffer byteBuffer) {
+ if (offset < dividedCommitlogOffset) {
+ return super.getData(offset, size, byteBuffer);
+ }
+ if (offset >= dLedgerFileStore.getCommittedPos()) {
+ return false;
+ }
+ int mappedFileSize = this.dLedgerServer.getdLedgerConfig().getMappedFileSizeForEntryData();
+ MmapFile mappedFile = this.dLedgerFileList.findMappedFileByOffset(offset, offset == 0);
+ if (mappedFile != null) {
+ int pos = (int) (offset % mappedFileSize);
+ return mappedFile.getData(pos, size, byteBuffer);
+ }
+ return false;
+ }
private void recover(long maxPhyOffsetOfConsumeQueue) {
dLedgerFileStore.load();