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

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


The following commit(s) were added to refs/heads/fix_binary_allocator_test by 
this push:
     new ff454dd8eb5 Fix that querying type-altered chunks in memory may affect 
the result of flush
ff454dd8eb5 is described below

commit ff454dd8eb56aa6deedba3c3ed15149f0734302d
Author: Tian Jiang <[email protected]>
AuthorDate: Wed Jan 28 18:59:13 2026 +0800

    Fix that querying type-altered chunks in memory may affect the result of 
flush
---
 .../src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java         | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java
index 7fdd16e48e6..56c534c01e5 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java
@@ -406,9 +406,10 @@ public class SchemaUtils {
       Statistics<?> statistics = Statistics.getStatsByType(targetDataType);
       statistics = getNewStatistics(valueChunkMetadata, targetDataType, 
statistics);
 
-      ChunkMetadata newChunkMetadata = (ChunkMetadata) valueChunkMetadata;
+      ChunkMetadata newChunkMetadata = new ChunkMetadata((ChunkMetadata) 
valueChunkMetadata);
       newChunkMetadata.setTsDataType(targetDataType);
       newChunkMetadata.setStatistics(statistics);
+      alignedChunkMetadata.getValueChunkMetadataList().set(index, 
newChunkMetadata);
     } else {
       alignedChunkMetadata.getValueChunkMetadataList().set(index, null);
     }
@@ -421,8 +422,10 @@ public class SchemaUtils {
       Statistics<?> statistics = Statistics.getStatsByType(targetDataType);
       statistics = getNewStatistics(chunkMetadata, targetDataType, statistics);
 
+      chunkMetadata = new ChunkMetadata(chunkMetadata);
       chunkMetadata.setTsDataType(targetDataType);
       chunkMetadata.setStatistics(statistics);
+      chunkMetadataList.set(index, chunkMetadata);
     } else {
       chunkMetadataList.set(index, null);
     }

Reply via email to