This is an automated email from the ASF dual-hosted git repository. leirui pushed a commit to branch research/M4-visualization in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 0c8b64019b1da86cb400cd09973dc608f7c58d21 Author: Lei Rui <[email protected]> AuthorDate: Tue Jan 24 20:08:27 2023 +0800 fix --- .../iotdb/db/query/dataset/groupby/LocalGroupByExecutor4CPV.java | 3 +++ server/src/main/java/org/apache/iotdb/db/utils/FileLoaderUtils.java | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutor4CPV.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutor4CPV.java index 68ab1b055a..da129d78ed 100644 --- a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutor4CPV.java +++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutor4CPV.java @@ -148,6 +148,7 @@ public class LocalGroupByExecutor4CPV implements GroupByExecutor { int curIdx = (int) Math.floor((curStartTime - startTime) * 1.0 / interval); if (splitChunkList.get(curIdx) != null) { currentChunkList.addAll(splitChunkList.get(curIdx)); + // TODO when to free splitChunkList memory } // iterate futureChunkList @@ -176,6 +177,8 @@ public class LocalGroupByExecutor4CPV implements GroupByExecutor { // load this chunk, split it on deletes and all w intervals. // add to currentChunkList and futureChunkList. itr.remove(); + // B: loads chunk data from disk to memory + // C: decompress page data, split time&value buffers List<IPageReader> pageReaderList = FileLoaderUtils.loadPageReaderList(chunkSuit4CPV.getChunkMetadata(), this.timeFilter); for (IPageReader pageReader : pageReaderList) { diff --git a/server/src/main/java/org/apache/iotdb/db/utils/FileLoaderUtils.java b/server/src/main/java/org/apache/iotdb/db/utils/FileLoaderUtils.java index 3ccea71002..b871ee2ba2 100644 --- a/server/src/main/java/org/apache/iotdb/db/utils/FileLoaderUtils.java +++ b/server/src/main/java/org/apache/iotdb/db/utils/FileLoaderUtils.java @@ -175,9 +175,9 @@ public class FileLoaderUtils { MemChunkLoader memChunkLoader = (MemChunkLoader) chunkLoader; chunkReader = new MemChunkReader(memChunkLoader.getChunk(), timeFilter); } else { - Chunk chunk = chunkLoader.loadChunk(chunkMetaData); + Chunk chunk = chunkLoader.loadChunk(chunkMetaData); // loads chunk data from disk to memory chunk.setFromOldFile(chunkMetaData.isFromOldTsFile()); - chunkReader = new ChunkReader(chunk, timeFilter); + chunkReader = new ChunkReader(chunk, timeFilter); // decompress page data, split time&value buffers chunkReader.hasNextSatisfiedPage(); } long duration = System.nanoTime() - start;
