This is an automated email from the ASF dual-hosted git repository. jiangtian pushed a commit to branch fix_unreset_configs in repository https://gitbox.apache.org/repos/asf/tsfile.git
commit cd542a962909676476de99e3c5e8ee868015bad7 Author: Tian Jiang <[email protected]> AuthorDate: Wed Oct 23 10:23:43 2024 +0800 Fix configs not rolled back in TsFileGeneratorUtils --- .../apache/tsfile/utils/TsFileGeneratorUtils.java | 32 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/java/tsfile/src/main/java/org/apache/tsfile/utils/TsFileGeneratorUtils.java b/java/tsfile/src/main/java/org/apache/tsfile/utils/TsFileGeneratorUtils.java index ff7cb33c..53ab9456 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/utils/TsFileGeneratorUtils.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/utils/TsFileGeneratorUtils.java @@ -239,10 +239,16 @@ public class TsFileGeneratorUtils { if (file.exists()) { file.delete(); } - if (chunkGroupSize > 0) + + int originGroupSize = TSFileDescriptor.getInstance().getConfig().getGroupSizeInByte(); + int originPageSize = TSFileDescriptor.getInstance().getConfig().getMaxNumberOfPointsInPage(); + if (chunkGroupSize > 0) { TSFileDescriptor.getInstance().getConfig().setGroupSizeInByte(chunkGroupSize); - if (pageSize > 0) + } + if (pageSize > 0) { TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(pageSize); + } + try (TsFileWriter tsFileWriter = new TsFileWriter(file)) { // register align timeseries List<IMeasurementSchema> alignedMeasurementSchemas = new ArrayList<>(); @@ -266,6 +272,9 @@ public class TsFileGeneratorUtils { startValue, true); } + } finally { + TSFileDescriptor.getInstance().getConfig().setGroupSizeInByte(originGroupSize); + TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(originPageSize); } return file; } @@ -284,6 +293,9 @@ public class TsFileGeneratorUtils { if (file.exists()) { file.delete(); } + + int originGroupSize = TSFileDescriptor.getInstance().getConfig().getGroupSizeInByte(); + int originPageSize = TSFileDescriptor.getInstance().getConfig().getMaxNumberOfPointsInPage(); if (chunkGroupSize > 0) TSFileDescriptor.getInstance().getConfig().setGroupSizeInByte(chunkGroupSize); if (pageSize > 0) @@ -311,6 +323,9 @@ public class TsFileGeneratorUtils { false); } return file; + } finally { + TSFileDescriptor.getInstance().getConfig().setGroupSizeInByte(originGroupSize); + TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(originPageSize); } } @@ -328,10 +343,14 @@ public class TsFileGeneratorUtils { if (file.exists()) { file.delete(); } + + int originGroupSize = TSFileDescriptor.getInstance().getConfig().getGroupSizeInByte(); + int originPageSize = TSFileDescriptor.getInstance().getConfig().getMaxNumberOfPointsInPage(); if (chunkGroupSize > 0) TSFileDescriptor.getInstance().getConfig().setGroupSizeInByte(chunkGroupSize); if (pageSize > 0) TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(pageSize); + try (TsFileWriter tsFileWriter = new TsFileWriter(file)) { // register align timeseries List<IMeasurementSchema> alignedMeasurementSchemas = new ArrayList<>(); @@ -368,6 +387,9 @@ public class TsFileGeneratorUtils { tsFileWriter.writeAligned(tsRecord); } } + } finally { + TSFileDescriptor.getInstance().getConfig().setGroupSizeInByte(originGroupSize); + TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(originPageSize); } return file; } @@ -386,6 +408,9 @@ public class TsFileGeneratorUtils { if (file.exists()) { file.delete(); } + + int originGroupSize = TSFileDescriptor.getInstance().getConfig().getGroupSizeInByte(); + int originPageSize = TSFileDescriptor.getInstance().getConfig().getMaxNumberOfPointsInPage(); if (chunkGroupSize > 0) TSFileDescriptor.getInstance().getConfig().setGroupSizeInByte(chunkGroupSize); if (pageSize > 0) @@ -421,6 +446,9 @@ public class TsFileGeneratorUtils { } } return file; + } finally { + TSFileDescriptor.getInstance().getConfig().setGroupSizeInByte(originGroupSize); + TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(originPageSize); } }
