in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java [1251:1450]
private boolean loadCompactionTaskHotModifiedProps(TrimProperties properties) throws IOException {
boolean configModified = false;
// update merge_write_throughput_mb_per_sec
int compactionWriteThroughput = conf.getCompactionWriteThroughputMbPerSec();
conf.setCompactionWriteThroughputMbPerSec(
Integer.parseInt(
properties.getProperty(
"compaction_write_throughput_mb_per_sec",
ConfigurationFileUtils.getConfigurationDefaultValue(
"compaction_write_throughput_mb_per_sec"))));
configModified |= compactionWriteThroughput != conf.getCompactionWriteThroughputMbPerSec();
// update compaction_read_operation_per_sec
int compactionReadOperation = conf.getCompactionReadOperationPerSec();
conf.setCompactionReadOperationPerSec(
Integer.parseInt(
properties.getProperty(
"compaction_read_operation_per_sec",
ConfigurationFileUtils.getConfigurationDefaultValue(
"compaction_read_operation_per_sec"))));
configModified |= compactionReadOperation != conf.getCompactionReadOperationPerSec();
// update compaction_read_throughput_mb_per_sec
int compactionReadThroughput = conf.getCompactionReadThroughputMbPerSec();
conf.setCompactionReadThroughputMbPerSec(
Integer.parseInt(
properties.getProperty(
"compaction_read_throughput_mb_per_sec",
ConfigurationFileUtils.getConfigurationDefaultValue(
"compaction_read_throughput_mb_per_sec"))));
configModified |= compactionReadThroughput != conf.getCompactionReadThroughputMbPerSec();
// update inner_compaction_candidate_file_num
int maxInnerCompactionCandidateFileNum = conf.getInnerCompactionCandidateFileNum();
conf.setInnerCompactionCandidateFileNum(
Integer.parseInt(
properties.getProperty(
"inner_compaction_candidate_file_num",
ConfigurationFileUtils.getConfigurationDefaultValue(
"inner_compaction_candidate_file_num"))));
configModified |=
maxInnerCompactionCandidateFileNum != conf.getInnerCompactionCandidateFileNum();
// update target_compaction_file_size
long targetCompactionFilesize = conf.getTargetCompactionFileSize();
conf.setTargetCompactionFileSize(
Long.parseLong(
properties.getProperty(
"target_compaction_file_size",
ConfigurationFileUtils.getConfigurationDefaultValue(
"target_compaction_file_size"))));
configModified |= targetCompactionFilesize != conf.getTargetCompactionFileSize();
// update max_cross_compaction_candidate_file_num
int maxCrossCompactionCandidateFileNum = conf.getFileLimitPerCrossTask();
conf.setFileLimitPerCrossTask(
Integer.parseInt(
properties.getProperty(
"max_cross_compaction_candidate_file_num",
ConfigurationFileUtils.getConfigurationDefaultValue(
"max_cross_compaction_candidate_file_num"))));
configModified |= maxCrossCompactionCandidateFileNum != conf.getFileLimitPerCrossTask();
// update max_cross_compaction_candidate_file_size
long maxCrossCompactionCandidateFileSize = conf.getMaxCrossCompactionCandidateFileSize();
conf.setMaxCrossCompactionCandidateFileSize(
Long.parseLong(
properties.getProperty(
"max_cross_compaction_candidate_file_size",
ConfigurationFileUtils.getConfigurationDefaultValue(
"max_cross_compaction_candidate_file_size"))));
configModified |=
maxCrossCompactionCandidateFileSize != conf.getMaxCrossCompactionCandidateFileSize();
// update min_cross_compaction_unseq_file_level
int minCrossCompactionCandidateFileNum = conf.getMinCrossCompactionUnseqFileLevel();
conf.setMinCrossCompactionUnseqFileLevel(
Integer.parseInt(
properties.getProperty(
"min_cross_compaction_unseq_file_level",
ConfigurationFileUtils.getConfigurationDefaultValue(
"min_cross_compaction_unseq_file_level"))));
configModified |=
minCrossCompactionCandidateFileNum != conf.getMinCrossCompactionUnseqFileLevel();
// update inner_compaction_task_selection_disk_redundancy
double innerCompactionTaskSelectionDiskRedundancy =
conf.getInnerCompactionTaskSelectionDiskRedundancy();
conf.setInnerCompactionTaskSelectionDiskRedundancy(
Double.parseDouble(
properties.getProperty(
"inner_compaction_task_selection_disk_redundancy",
ConfigurationFileUtils.getConfigurationDefaultValue(
"inner_compaction_task_selection_disk_redundancy"))));
configModified |=
(Math.abs(
innerCompactionTaskSelectionDiskRedundancy
- conf.getInnerCompactionTaskSelectionDiskRedundancy())
> 0.001);
// update inner_compaction_task_selection_mods_file_threshold
long innerCompactionTaskSelectionModsFileThreshold =
conf.getInnerCompactionTaskSelectionModsFileThreshold();
conf.setInnerCompactionTaskSelectionModsFileThreshold(
Long.parseLong(
properties.getProperty(
"inner_compaction_task_selection_mods_file_threshold",
ConfigurationFileUtils.getConfigurationDefaultValue(
"inner_compaction_task_selection_mods_file_threshold"))));
configModified |=
innerCompactionTaskSelectionModsFileThreshold
!= conf.getInnerCompactionTaskSelectionModsFileThreshold();
// update inner_seq_selector
InnerSequenceCompactionSelector innerSequenceCompactionSelector =
conf.getInnerSequenceCompactionSelector();
conf.setInnerSequenceCompactionSelector(
InnerSequenceCompactionSelector.getInnerSequenceCompactionSelector(
properties.getProperty(
"inner_seq_selector",
ConfigurationFileUtils.getConfigurationDefaultValue("inner_seq_selector"))));
configModified |= innerSequenceCompactionSelector != conf.getInnerSequenceCompactionSelector();
// update inner_unseq_selector
InnerUnsequenceCompactionSelector innerUnsequenceCompactionSelector =
conf.getInnerUnsequenceCompactionSelector();
conf.setInnerUnsequenceCompactionSelector(
InnerUnsequenceCompactionSelector.getInnerUnsequenceCompactionSelector(
properties.getProperty(
"inner_unseq_selector",
ConfigurationFileUtils.getConfigurationDefaultValue("inner_unseq_selector"))));
configModified |=
innerUnsequenceCompactionSelector != conf.getInnerUnsequenceCompactionSelector();
conf.setInnerSeqCompactionPerformer(
InnerSeqCompactionPerformer.getInnerSeqCompactionPerformer(
properties.getProperty(
"inner_seq_performer", conf.getInnerSeqCompactionPerformer().toString())));
conf.setInnerUnseqCompactionPerformer(
InnerUnseqCompactionPerformer.getInnerUnseqCompactionPerformer(
properties.getProperty(
"inner_unseq_performer", conf.getInnerUnseqCompactionPerformer().toString())));
conf.setCrossCompactionPerformer(
CrossCompactionPerformer.getCrossCompactionPerformer(
properties.getProperty(
"cross_performer", conf.getCrossCompactionPerformer().toString())));
// update inner_compaction_total_file_size_threshold
long innerCompactionFileSizeThresholdInByte =
conf.getInnerCompactionTotalFileSizeThresholdInByte();
conf.setInnerCompactionTotalFileSizeThresholdInByte(
Long.parseLong(
properties.getProperty(
"inner_compaction_total_file_size_threshold",
ConfigurationFileUtils.getConfigurationDefaultValue(
"inner_compaction_total_file_size_threshold"))));
configModified |=
innerCompactionFileSizeThresholdInByte
!= conf.getInnerCompactionTotalFileSizeThresholdInByte();
// update inner_compaction_total_file_num_threshold
int innerCompactionTotalFileNumThreshold = conf.getInnerCompactionTotalFileNumThreshold();
conf.setInnerCompactionTotalFileNumThreshold(
Integer.parseInt(
properties.getProperty(
"inner_compaction_total_file_num_threshold",
ConfigurationFileUtils.getConfigurationDefaultValue(
"inner_compaction_total_file_num_threshold"))));
configModified |=
innerCompactionTotalFileNumThreshold != conf.getInnerCompactionTotalFileNumThreshold();
// update max_level_gap_in_inner_compaction
int maxLevelGapInInnerCompaction = conf.getMaxLevelGapInInnerCompaction();
conf.setMaxLevelGapInInnerCompaction(
Integer.parseInt(
properties.getProperty(
"max_level_gap_in_inner_compaction",
ConfigurationFileUtils.getConfigurationDefaultValue(
"max_level_gap_in_inner_compaction"))));
configModified |= maxLevelGapInInnerCompaction != conf.getMaxLevelGapInInnerCompaction();
// update compaction_max_aligned_series_num_in_one_batch
int compactionMaxAlignedSeriesNumInOneBatch = conf.getCompactionMaxAlignedSeriesNumInOneBatch();
int newCompactionMaxAlignedSeriesNumInOneBatch =
Integer.parseInt(
properties.getProperty(
"compaction_max_aligned_series_num_in_one_batch",
ConfigurationFileUtils.getConfigurationDefaultValue(
"compaction_max_aligned_series_num_in_one_batch")));
conf.setCompactionMaxAlignedSeriesNumInOneBatch(
newCompactionMaxAlignedSeriesNumInOneBatch > 0
? newCompactionMaxAlignedSeriesNumInOneBatch
: Integer.MAX_VALUE);
configModified |=
compactionMaxAlignedSeriesNumInOneBatch
!= conf.getCompactionMaxAlignedSeriesNumInOneBatch();
return configModified;
}