You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tsfile.apache.org by ji...@apache.org on 2025/01/03 10:44:45 UTC
(tsfile) 01/01: Fix the deserialization of empty bloom filters
This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch fix_empty_bloom_filter_deserialization
in repository https://gitbox.apache.org/repos/asf/tsfile.git
commit a68a7d4c00a480b6e98ad8e3ba77579fefd473f9
Author: Tian Jiang <jt...@163.com>
AuthorDate: Fri Jan 3 18:44:34 2025 +0800
Fix the deserialization of empty bloom filters
---
.../main/java/org/apache/tsfile/file/metadata/TsFileMetadata.java | 6 +++++-
.../java/org/apache/tsfile/file/metadata/TsFileMetadataTest.java | 4 ++++
.../src/test/java/org/apache/tsfile/file/metadata/utils/Utils.java | 6 +++++-
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TsFileMetadata.java b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TsFileMetadata.java
index 379a9036..16f1da5d 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TsFileMetadata.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TsFileMetadata.java
@@ -221,7 +221,7 @@ public class TsFileMetadata {
if (bloomFilter != null) {
byteLen += serializeBloomFilter(outputStream, bloomFilter);
} else {
- byteLen += ReadWriteIOUtils.write(0, outputStream);
+ byteLen += ReadWriteForEncodingUtils.writeUnsignedVarInt(0, outputStream);
}
byteLen +=
@@ -284,4 +284,8 @@ public class TsFileMetadata {
public Map<String, TableSchema> getTableSchemaMap() {
return tableSchemaMap;
}
+
+ public Map<String, String> getTsFileProperties() {
+ return tsFileProperties;
+ }
}
diff --git a/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/TsFileMetadataTest.java b/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/TsFileMetadataTest.java
index cfac37e8..03e22e27 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/TsFileMetadataTest.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/TsFileMetadataTest.java
@@ -53,6 +53,10 @@ public class TsFileMetadataTest {
@Test
public void testWriteFileMetaData() {
TsFileMetadata tsfMetaData = TestHelper.createSimpleFileMetaData();
+ tsfMetaData.addProperty("encryptLevel", "0");
+ tsfMetaData.addProperty("encryptType", "org.apache.tsfile.encrypt.UNENCRYPTED");
+ tsfMetaData.addProperty("encryptKey", "");
+ tsfMetaData.addProperty("d", "1");
serialized(tsfMetaData);
TsFileMetadata readMetaData = deSerialized();
Assert.assertTrue(Utils.isFileMetaDataEqual(tsfMetaData, readMetaData));
diff --git a/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/utils/Utils.java b/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/utils/Utils.java
index 91c2cbf2..dc37e00f 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/utils/Utils.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/utils/Utils.java
@@ -25,6 +25,8 @@ import org.apache.tsfile.file.metadata.statistics.BooleanStatistics;
import org.apache.tsfile.file.metadata.statistics.IntegerStatistics;
import org.apache.tsfile.file.metadata.statistics.Statistics;
+import java.util.Objects;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@@ -58,7 +60,9 @@ public class Utils {
metadata1.getTableMetadataIndexNode(TestHelper.TEST_TABLE_NAME);
MetadataIndexNode metaDataIndex2 =
metadata2.getTableMetadataIndexNode(TestHelper.TEST_TABLE_NAME);
- return metaDataIndex1.getChildren().size() == metaDataIndex2.getChildren().size();
+
+ return Objects.equals(metadata1.getTsFileProperties(), metadata2.getTsFileProperties())
+ && metaDataIndex1.getChildren().size() == metaDataIndex2.getChildren().size();
}
}
return false;