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 <[email protected]>
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(

Reply via email to