You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2022/08/30 13:30:21 UTC

[iotdb] branch rel/0.13 updated: [To rel/0.13]Fix rewriteFileTool for aligned timeseries (#7172)

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

haonan pushed a commit to branch rel/0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/0.13 by this push:
     new 7367d11069 [To rel/0.13]Fix rewriteFileTool for aligned timeseries (#7172)
7367d11069 is described below

commit 7367d11069829a6209810a49c7e3d6ce405048fc
Author: Mrquan <50...@users.noreply.github.com>
AuthorDate: Tue Aug 30 21:30:09 2022 +0800

    [To rel/0.13]Fix rewriteFileTool for aligned timeseries (#7172)
---
 .../src/main/java/org/apache/iotdb/RewriteFileTool.java   | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/rewriteFileTool/src/main/java/org/apache/iotdb/RewriteFileTool.java b/rewriteFileTool/src/main/java/org/apache/iotdb/RewriteFileTool.java
index 051b3be409..73aa31b401 100644
--- a/rewriteFileTool/src/main/java/org/apache/iotdb/RewriteFileTool.java
+++ b/rewriteFileTool/src/main/java/org/apache/iotdb/RewriteFileTool.java
@@ -217,7 +217,8 @@ public class RewriteFileTool {
             while (dataSize > 0) {
               PageHeader pageHeader =
                   reader.readPageHeader(
-                      header.getDataType(), header.getChunkType() == MetaMarker.CHUNK_HEADER);
+                      header.getDataType(),
+                      (header.getChunkType() & 0x3F) == MetaMarker.CHUNK_HEADER);
               ByteBuffer pageData = reader.readPage(pageHeader, header.getCompressionType());
               timePageHeaders.add(pageHeader);
               timePageDatas.add(pageData);
@@ -246,7 +247,8 @@ public class RewriteFileTool {
             while (dataSize > 0) {
               PageHeader pageHeader =
                   reader.readPageHeader(
-                      header.getDataType(), header.getChunkType() == MetaMarker.CHUNK_HEADER);
+                      header.getDataType(),
+                      (header.getChunkType() & 0x3F) == MetaMarker.CHUNK_HEADER);
               ByteBuffer pageData = reader.readPage(pageHeader, header.getCompressionType());
               if (valuePageHeadersList.size() == pageIndex) {
                 valuePageHeadersList.add(new ArrayList<>());
@@ -282,7 +284,8 @@ public class RewriteFileTool {
               valueDecoder.reset();
               PageHeader pageHeader =
                   reader.readPageHeader(
-                      header.getDataType(), header.getChunkType() == MetaMarker.CHUNK_HEADER);
+                      header.getDataType(),
+                      (header.getChunkType() & 0x3F) == MetaMarker.CHUNK_HEADER);
               ByteBuffer pageData = reader.readPage(pageHeader, header.getCompressionType());
               PageReader reader1 =
                   new PageReader(
@@ -447,7 +450,8 @@ public class RewriteFileTool {
         tablet.rowSize++;
         // calculate curTabletSize based on timestamp and value
         curTabletSize += 8;
-        for (TSDataType dataType : dataTypes) {
+        for (int i = 0; i < dataTypes.size(); i++) {
+          TSDataType dataType = dataTypes.get(i);
           switch (dataType) {
             case BOOLEAN:
               curTabletSize += 1;
@@ -461,7 +465,8 @@ public class RewriteFileTool {
               curTabletSize += 8;
               break;
             case TEXT:
-              curTabletSize += 4 + ((Binary) batchData.currentValue()).getLength();
+              curTabletSize +=
+                  4 + ((TsPrimitiveType[]) batchData.currentValue())[i].getBinary().getLength();
               break;
             default:
               throw new UnSupportedDataTypeException(