This is an automated email from the ASF dual-hosted git repository.

xingtanzjr pushed a commit to branch lazy_page_reader_in_compaction
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/lazy_page_reader_in_compaction 
by this push:
     new a80a4247221 add comments for newly added method
a80a4247221 is described below

commit a80a4247221cf49a04d5a4751f23f86c95b5830f
Author: Jinrui.Zhang <[email protected]>
AuthorDate: Mon Aug 28 15:29:18 2023 +0800

    add comments for newly added method
---
 .../compaction/execute/utils/executor/fast/element/PageElement.java   | 2 ++
 .../compaction/execute/utils/executor/fast/element/PointElement.java  | 2 ++
 .../iotdb/tsfile/read/reader/page/LazyLoadAlignedPagePointReader.java | 4 ++++
 3 files changed, 8 insertions(+)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/fast/element/PageElement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/fast/element/PageElement.java
index 46e37df479a..b2477137f65 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/fast/element/PageElement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/fast/element/PageElement.java
@@ -39,6 +39,8 @@ public class PageElement {
 
   public TsBlock batchData;
 
+  // pointReader is used to replace batchData to get rid of huge memory cost 
by loading data point
+  // in a lazy way
   public IPointReader pointReader;
 
   // compressed page data
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/fast/element/PointElement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/fast/element/PointElement.java
index 8ad82c66f5e..52f661926c6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/fast/element/PointElement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/fast/element/PointElement.java
@@ -39,6 +39,8 @@ public class PointElement {
     if (pageElement.iChunkReader instanceof ChunkReader) {
       this.pointReader = 
pageElement.batchData.getTsBlockSingleColumnIterator();
     } else {
+      // For aligned page, we use pointReader rather than deserialize all data 
point to get rid of
+      // huge memory cost
       this.pointReader = pageElement.pointReader;
     }
     this.timeValuePair = pointReader.nextTimeValuePair();
diff --git 
a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/LazyLoadAlignedPagePointReader.java
 
b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/LazyLoadAlignedPagePointReader.java
index 3f100074497..121928357b3 100644
--- 
a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/LazyLoadAlignedPagePointReader.java
+++ 
b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/LazyLoadAlignedPagePointReader.java
@@ -26,6 +26,10 @@ import org.apache.iotdb.tsfile.utils.TsPrimitiveType;
 import java.io.IOException;
 import java.util.List;
 
+/**
+ * This class is used to read data of aligned-series row by row. It won't 
deserialize all data point
+ * of one page in memory. In contrast, it constructs row one by one as needed
+ */
 public class LazyLoadAlignedPagePointReader implements IPointReader {
 
   private TimePageReader timeReader;

Reply via email to