You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2026/01/28 10:59:28 UTC

(iotdb) branch fix_binary_allocator_test updated: Fix that querying type-altered chunks in memory may affect the result of flush

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 <jt...@163.com>
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);
     }