This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch fix_NewTsFileV2 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 24218e38c07698b2f208b8c56d685e11e9343fca Author: HTHou <[email protected]> AuthorDate: Mon Feb 1 10:40:47 2021 +0800 change the way of checking page --- .../org/apache/iotdb/db/tools/upgrade/TsFileOnlineUpgradeTool.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/apache/iotdb/db/tools/upgrade/TsFileOnlineUpgradeTool.java b/server/src/main/java/org/apache/iotdb/db/tools/upgrade/TsFileOnlineUpgradeTool.java index adbb22e..e5b9091 100644 --- a/server/src/main/java/org/apache/iotdb/db/tools/upgrade/TsFileOnlineUpgradeTool.java +++ b/server/src/main/java/org/apache/iotdb/db/tools/upgrade/TsFileOnlineUpgradeTool.java @@ -158,7 +158,8 @@ public class TsFileOnlineUpgradeTool implements AutoCloseable { List<PageHeader> pageHeadersInChunk = new ArrayList<>(); List<ByteBuffer> dataInChunk = new ArrayList<>(); List<Boolean> needToDecodeInfo = new ArrayList<>(); - for (int j = 0; j < header.getNumOfPages(); j++) { + int dataSize = header.getDataSize(); + while (dataSize > 0) { // a new Page PageHeader pageHeader = reader.readPageHeader(dataType); boolean needToDecode = @@ -169,6 +170,10 @@ public class TsFileOnlineUpgradeTool implements AutoCloseable { : reader.readPage(pageHeader, header.getCompressionType()); pageHeadersInChunk.add(pageHeader); dataInChunk.add(pageData); + dataSize -= Integer.BYTES * 2 // the bytes of uncompressedSize and compressedSize + - pageHeader.getStatistics().getSerializedSize() + - pageHeader.getCompressedSize(); + } pageHeadersInChunkGroup.add(pageHeadersInChunk); pageDataInChunkGroup.add(dataInChunk);
