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

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

commit 5ce8b461cf292baa2f0d6709556a4a89bdcc3f08
Author: Tian Jiang <[email protected]>
AuthorDate: Wed Sep 23 09:10:49 2026 +0800

    tmp
---
 .../dataregion/memtable/AlignedWritableMemChunk.java          |  6 ++++++
 .../iotdb/db/utils/datastructure/AlignedTVListFactory.java    | 11 +----------
 .../dataregion/memtable/FlatDeviceMemTableDeletionTest.java   |  4 +++-
 .../dataregion/memtable/MemChunkDeserializeTest.java          |  4 +++-
 .../iotdb/db/utils/datastructure/AlignedTVListTest.java       |  7 ++++++-
 .../db/utils/datastructure/ColumnSortedAlignedTVListTest.java | 10 ++++++++--
 6 files changed, 27 insertions(+), 15 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedWritableMemChunk.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedWritableMemChunk.java
index f012e9c3561..e1eb0944600 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedWritableMemChunk.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/AlignedWritableMemChunk.java
@@ -199,6 +199,9 @@ public class AlignedWritableMemChunk extends 
AbstractWritableMemChunk {
     // Keep the chunk's schema order mutable because late schema discovery may 
append a TAG.
     this.schemaList = new ArrayList<>(schemaList);
     this.useColumnSortedList = useColumnSortedList;
+    if (useColumnSortedList) {
+      Objects.requireNonNull(physicalDeviceId);
+    }
     this.physicalDeviceId = physicalDeviceId;
     for (int i = 0; i < schemaList.size(); i++) {
       measurementIndexMap.put(schemaList.get(i).getMeasurementName(), i);
@@ -236,6 +239,9 @@ public class AlignedWritableMemChunk extends 
AbstractWritableMemChunk {
     this.measurementCategoryMap = new LinkedHashMap<>();
     this.schemaList = new ArrayList<>(schemaList);
     this.useColumnSortedList = list instanceof ColumnSortedAlignedTVList;
+    if (list instanceof FlatDeviceAlignedTVList) {
+      Objects.requireNonNull(physicalDeviceId);
+    }
     this.physicalDeviceId = physicalDeviceId;
     this.sortColumnIndices =
         this.useColumnSortedList
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/AlignedTVListFactory.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/AlignedTVListFactory.java
index 2880e534865..4fc8f3662ac 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/AlignedTVListFactory.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/AlignedTVListFactory.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.utils.datastructure;
 
-import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.tsfile.enums.TSDataType;
 import org.apache.tsfile.file.metadata.IDeviceID;
 
@@ -70,11 +69,6 @@ public final class AlignedTVListFactory {
         dataTypes, tagIndices, true, physicalDeviceId.getTableName());
   }
 
-  @TestOnly
-  public static AlignedTVList deserialize(DataInputStream stream) throws 
IOException {
-    return deserialize(stream, null);
-  }
-
   public static AlignedTVList deserialize(DataInputStream stream, IDeviceID 
physicalDeviceId)
       throws IOException {
     byte encodedDataType = stream.readByte();
@@ -82,10 +76,7 @@ public final class AlignedTVListFactory {
     if (encodedDataType == FlatDeviceAlignedTVList.WAL_DATA_TYPE_MARKER) {
       Objects.requireNonNull(physicalDeviceId);
       return ColumnSortedAlignedTVList.deserialize(
-          stream,
-          dataTypeCount,
-          true,
-          physicalDeviceId.getTableName());
+          stream, dataTypeCount, true, physicalDeviceId.getTableName());
     }
 
     return AlignedTVList.deserialize(
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/FlatDeviceMemTableDeletionTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/FlatDeviceMemTableDeletionTest.java
index bd3e29674e9..3d60d0754a7 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/FlatDeviceMemTableDeletionTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/FlatDeviceMemTableDeletionTest.java
@@ -183,7 +183,9 @@ public class FlatDeviceMemTableDeletionTest {
     assertFalse(buffer.hasRemaining());
     AlignedWritableMemChunk recovered =
         AlignedWritableMemChunk.deserialize(
-            new DataInputStream(new ByteArrayInputStream(buffer.array())), 
true, Factory.DEFAULT_FACTORY.create(new String[] {"place_holder"}));
+            new DataInputStream(new ByteArrayInputStream(buffer.array())),
+            true,
+            Factory.DEFAULT_FACTORY.create(new String[] {"place_holder"}));
     try {
       recovered.getWorkingTVList().sort();
       assertEquals(List.of(20L), remainingValues(recovered.getWorkingTVList(), 
2));
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/MemChunkDeserializeTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/MemChunkDeserializeTest.java
index 320bb1503b8..6b4ac9645c5 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/MemChunkDeserializeTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/MemChunkDeserializeTest.java
@@ -262,7 +262,9 @@ public class MemChunkDeserializeTest {
     series.serializeToWAL(walBuffer);
     DataInputStream inputStream =
         new DataInputStream(new 
ByteArrayInputStream(walBuffer.getBuffer().array()));
-    AlignedWritableMemChunk memChunk = 
AlignedWritableMemChunk.deserialize(inputStream, false, 
Factory.DEFAULT_FACTORY.create(new String[]{"place_holder"}));
+    AlignedWritableMemChunk memChunk =
+        AlignedWritableMemChunk.deserialize(
+            inputStream, false, Factory.DEFAULT_FACTORY.create(new String[] 
{"place_holder"}));
 
     AlignedReadOnlyMemChunk readableChunk =
         (AlignedReadOnlyMemChunk) getAlignedReadOnlyChunk(memChunk, 
schemaList, measurementList);
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/AlignedTVListTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/AlignedTVListTest.java
index 09452b50838..df80d0913b6 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/AlignedTVListTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/AlignedTVListTest.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.tsfile.common.conf.TSFileConfig;
 import org.apache.tsfile.enums.TSDataType;
 import org.apache.tsfile.external.commons.lang3.ArrayUtils;
+import org.apache.tsfile.file.metadata.IDeviceID;
 import org.apache.tsfile.utils.Binary;
 import org.apache.tsfile.utils.BitMap;
 import org.junit.Assert;
@@ -47,6 +48,9 @@ import static 
org.apache.tsfile.utils.RamUsageEstimator.NUM_BYTES_OBJECT_REF;
 
 public class AlignedTVListTest {
 
+  private static final IDeviceID TEST_DEVICE =
+      IDeviceID.Factory.DEFAULT_FACTORY.create("test_table");
+
   @Test
   public void testValueListArrayMemCostExcludesLazyBitmapAndNullPlaceholder() {
     long expected = (long) ARRAY_SIZE * Long.BYTES + NUM_BYTES_ARRAY_HEADER + 
NUM_BYTES_OBJECT_REF;
@@ -500,7 +504,8 @@ public class AlignedTVListTest {
     tvList.serializeToWAL(walBuffer);
     AlignedTVList deserializedTvList =
         AlignedTVListFactory.deserialize(
-            new DataInputStream(new 
ByteArrayInputStream(walBuffer.getBuffer().array())));
+            new DataInputStream(new 
ByteArrayInputStream(walBuffer.getBuffer().array())),
+            TEST_DEVICE);
 
     Assert.assertEquals(tvList.rowCount(), deserializedTvList.rowCount());
     Assert.assertEquals("[null, null]", 
deserializedTvList.getAlignedValue(0).toString());
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/ColumnSortedAlignedTVListTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/ColumnSortedAlignedTVListTest.java
index d642ef4ac1c..1e34b2ca257 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/ColumnSortedAlignedTVListTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/ColumnSortedAlignedTVListTest.java
@@ -25,6 +25,7 @@ import 
org.apache.iotdb.db.storageengine.dataregion.wal.utils.WALByteBufferForTe
 
 import org.apache.tsfile.common.conf.TSFileConfig;
 import org.apache.tsfile.enums.TSDataType;
+import org.apache.tsfile.file.metadata.IDeviceID;
 import org.apache.tsfile.file.metadata.enums.TSEncoding;
 import org.apache.tsfile.read.TimeValuePair;
 import org.apache.tsfile.read.common.TimeRange;
@@ -46,6 +47,9 @@ import java.util.Set;
 
 public class ColumnSortedAlignedTVListTest {
 
+  private static final IDeviceID TEST_DEVICE =
+      IDeviceID.Factory.DEFAULT_FACTORY.create("test_table");
+
   private static final List<TSDataType> COMPOUND_ROW_TYPES =
       List.of(TSDataType.STRING, TSDataType.INT64);
   private static final List<TSEncoding> COMPOUND_ROW_ENCODINGS =
@@ -197,7 +201,8 @@ public class ColumnSortedAlignedTVListTest {
     DataInputStream standardStream =
         new DataInputStream(new ByteArrayInputStream(standardBuffer.array()));
     Assert.assertFalse(
-        AlignedTVListFactory.deserialize(standardStream) instanceof 
ColumnSortedAlignedTVList);
+        AlignedTVListFactory.deserialize(standardStream, TEST_DEVICE)
+            instanceof ColumnSortedAlignedTVList);
     Assert.assertEquals(123, standardStream.readInt());
   }
 
@@ -667,6 +672,7 @@ public class ColumnSortedAlignedTVListTest {
   }
 
   private static AlignedTVList deserialize(byte[] bytes) throws IOException {
-    return AlignedTVListFactory.deserialize(new DataInputStream(new 
ByteArrayInputStream(bytes)));
+    return AlignedTVListFactory.deserialize(
+        new DataInputStream(new ByteArrayInputStream(bytes)), TEST_DEVICE);
   }
 }

Reply via email to