You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tsfile.apache.org by ja...@apache.org on 2024/01/09 10:05:42 UTC

(tsfile) branch develop updated: Fix delete and recreate the same timeseries with different datatype bug

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

jackietien pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/tsfile.git


The following commit(s) were added to refs/heads/develop by this push:
     new 4d48cd17 Fix delete and recreate the same timeseries with different datatype bug
4d48cd17 is described below

commit 4d48cd17fa118999e5aa734bd4eec35811df47f4
Author: Jackie Tien <ja...@gmail.com>
AuthorDate: Tue Jan 9 18:05:36 2024 +0800

    Fix delete and recreate the same timeseries with different datatype bug
---
 .../org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java   | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java b/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java
index 956ce1c0..14f1d4a6 100644
--- a/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java
+++ b/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java
@@ -191,13 +191,16 @@ public class AlignedTimeSeriesMetadata implements ITimeSeriesMetadata {
   @Override
   public boolean typeMatch(List<TSDataType> dataTypes) {
     if (valueTimeseriesMetadataList != null) {
+      int notMatchCount = 0;
       for (int i = 0, size = dataTypes.size(); i < size; i++) {
         TimeseriesMetadata valueTimeSeriesMetadata = valueTimeseriesMetadataList.get(i);
         if (valueTimeSeriesMetadata != null
             && !valueTimeSeriesMetadata.typeMatch(dataTypes.get(i))) {
-          return false;
+          valueTimeseriesMetadataList.set(i, null);
+          notMatchCount++;
         }
       }
+      return notMatchCount != dataTypes.size();
     }
     return true;
   }