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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3d1cd0ea7f6 Pipe: Fix the problem of missing points in TsFile of 
parsing table model (#15217)
3d1cd0ea7f6 is described below

commit 3d1cd0ea7f66b60b7ce844bb84739f1441477cd5
Author: Zhenyu Luo <[email protected]>
AuthorDate: Thu Mar 27 22:28:52 2025 +0800

    Pipe: Fix the problem of missing points in TsFile of parsing table model 
(#15217)
---
 ...sFileInsertionEventTableParserTabletIterator.java | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java
index e594b58e86b..32140edee8e 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java
@@ -83,6 +83,7 @@ public class TsFileInsertionEventTableParserTabletIterator 
implements Iterator<T
   private Set<String> measurementNames;
   private Iterator<Pair<IDeviceID, MetadataIndexNode>> deviceMetaIterator;
   private Iterator<List<IChunkMetadata>> chunkMetadataList;
+  private Iterator<IChunkMetadata> chunkMetadata;
 
   // Record the information of the currently read Table
   private String tableName;
@@ -160,12 +161,18 @@ public class 
TsFileInsertionEventTableParserTabletIterator implements Iterator<T
               break;
             }
           case INIT_CHUNK_READER:
-            if (chunkMetadataList != null && chunkMetadataList.hasNext()) {
-              initChunkReader((AbstractAlignedChunkMetadata) 
chunkMetadataList.next().get(0));
+            if (chunkMetadata != null && chunkMetadata.hasNext()) {
+              initChunkReader((AbstractAlignedChunkMetadata) 
chunkMetadata.next());
               state = State.INIT_DATA;
               break;
             }
-          case INIT_CHUNK_METADATA:
+          case INIT_CHUNK_META:
+            if (chunkMetadataList != null && chunkMetadataList.hasNext()) {
+              chunkMetadata = chunkMetadataList.next().iterator();
+              state = State.INIT_CHUNK_READER;
+              break;
+            }
+          case INIT_CHUNK_META_LIST:
             if (deviceMetaIterator != null && deviceMetaIterator.hasNext()) {
               final Pair<IDeviceID, MetadataIndexNode> pair = 
deviceMetaIterator.next();
 
@@ -202,7 +209,7 @@ public class TsFileInsertionEventTableParserTabletIterator 
implements Iterator<T
               deviceID = pair.getLeft();
               chunkMetadataList = iChunkMetadataList.iterator();
 
-              state = State.INIT_CHUNK_READER;
+              state = State.INIT_CHUNK_META;
               break;
             }
           case INIT_DEVICE_META:
@@ -244,7 +251,7 @@ public class TsFileInsertionEventTableParserTabletIterator 
implements Iterator<T
                   j++;
                 }
               }
-              state = State.INIT_CHUNK_METADATA;
+              state = State.INIT_CHUNK_META_LIST;
               break;
             }
             return false;
@@ -259,7 +266,8 @@ public class TsFileInsertionEventTableParserTabletIterator 
implements Iterator<T
     CHECK_DATA,
     INIT_DATA,
     INIT_CHUNK_READER,
-    INIT_CHUNK_METADATA,
+    INIT_CHUNK_META,
+    INIT_CHUNK_META_LIST,
     INIT_DEVICE_META
   }
 

Reply via email to