提交 232c264d 编写于 作者: A alesapin

Disable force TTL on optimise

上级 5ecb1717
......@@ -585,8 +585,7 @@ MergeTreeData::MutableDataPartPtr MergeTreeDataMergerMutator::mergePartsToTempor
TableLockHolder &,
time_t time_of_merge,
const ReservationPtr & space_reservation,
bool deduplicate,
bool force_ttl)
bool deduplicate)
{
static const String TMP_PREFIX = "tmp_merge_";
......@@ -634,7 +633,7 @@ MergeTreeData::MutableDataPartPtr MergeTreeDataMergerMutator::mergePartsToTempor
new_data_part->partition.assign(future_part.getPartition());
new_data_part->is_temp = true;
bool need_remove_expired_values = force_ttl;
bool need_remove_expired_values = false;
for (const auto & part : parts)
new_data_part->ttl_infos.update(part->ttl_infos);
......@@ -809,7 +808,7 @@ MergeTreeData::MutableDataPartPtr MergeTreeDataMergerMutator::mergePartsToTempor
merged_stream = std::make_shared<DistinctSortedBlockInputStream>(merged_stream, sort_description, SizeLimits(), 0 /*limit_hint*/, Names());
if (need_remove_expired_values)
merged_stream = std::make_shared<TTLBlockInputStream>(merged_stream, data, metadata_snapshot, new_data_part, time_of_merge, force_ttl);
merged_stream = std::make_shared<TTLBlockInputStream>(merged_stream, data, metadata_snapshot, new_data_part, time_of_merge, false);
if (metadata_snapshot->hasSecondaryIndices())
......
......@@ -111,8 +111,7 @@ public:
TableLockHolder & table_lock_holder,
time_t time_of_merge,
const ReservationPtr & space_reservation,
bool deduplicate,
bool force_ttl);
bool deduplicate);
/// Mutate a single data part with the specified commands. Will create and return a temporary part.
MergeTreeData::MutableDataPartPtr mutatePartToTemporaryPart(
......
......@@ -82,10 +82,6 @@ struct ReplicatedMergeTreeLogEntryData
String column_name;
String index_name;
/// Force filter by TTL in 'OPTIMIZE ... FINAL' query to remove expired values from old parts
/// without TTL infos or with outdated TTL infos, e.g. after 'ALTER ... MODIFY TTL' query.
bool force_ttl = false;
/// For DROP_RANGE, true means that the parts need not be deleted, but moved to the `detached` directory.
bool detach = false;
......
......@@ -724,13 +724,9 @@ bool StorageMergeTree::merge(
try
{
/// Force filter by TTL in 'OPTIMIZE ... FINAL' query to remove expired values from old parts
/// without TTL infos or with outdated TTL infos, e.g. after 'ALTER ... MODIFY TTL' query.
bool force_ttl = (final && metadata_snapshot->hasAnyTTL());
new_part = merger_mutator.mergePartsToTemporaryPart(
future_part, metadata_snapshot, *merge_entry, table_lock_holder, time(nullptr),
merging_tagger->reserved_space, deduplicate, force_ttl);
merging_tagger->reserved_space, deduplicate);
merger_mutator.renameMergedTemporaryPart(new_part, future_part.parts, nullptr);
write_part_log({});
......
......@@ -1384,8 +1384,7 @@ bool StorageReplicatedMergeTree::tryExecuteMerge(const LogEntry & entry)
{
part = merger_mutator.mergePartsToTemporaryPart(
future_merged_part, metadata_snapshot, *merge_entry,
table_lock, entry.create_time, reserved_space, entry.deduplicate,
entry.force_ttl);
table_lock, entry.create_time, reserved_space, entry.deduplicate);
merger_mutator.renameMergedTemporaryPart(part, parts, &transaction);
......@@ -2485,8 +2484,6 @@ void StorageReplicatedMergeTree::mergeSelectingTask()
const auto storage_settings_ptr = getSettings();
const bool deduplicate = false; /// TODO: read deduplicate option from table config
const bool force_ttl = false;
CreateMergeEntryResult create_result = CreateMergeEntryResult::Other;
try
......@@ -2524,7 +2521,7 @@ void StorageReplicatedMergeTree::mergeSelectingTask()
merger_mutator.selectPartsToMerge(future_merged_part, false, max_source_parts_size_for_merge, merge_pred, nullptr))
{
create_result = createLogEntryToMergeParts(zookeeper, future_merged_part.parts,
future_merged_part.name, future_merged_part.type, deduplicate, force_ttl, nullptr, merge_pred.getVersion());
future_merged_part.name, future_merged_part.type, deduplicate, nullptr, merge_pred.getVersion());
}
/// If there are many mutations in queue, it may happen, that we cannot enqueue enough merges to merge all new parts
else if (max_source_part_size_for_mutation > 0 && queue.countMutations() > 0
......@@ -2606,7 +2603,6 @@ StorageReplicatedMergeTree::CreateMergeEntryResult StorageReplicatedMergeTree::c
const String & merged_name,
const MergeTreeDataPartType & merged_part_type,
bool deduplicate,
bool force_ttl,
ReplicatedMergeTreeLogEntryData * out_log_entry,
int32_t log_version)
{
......@@ -2641,7 +2637,6 @@ StorageReplicatedMergeTree::CreateMergeEntryResult StorageReplicatedMergeTree::c
entry.new_part_name = merged_name;
entry.new_part_type = merged_part_type;
entry.deduplicate = deduplicate;
entry.force_ttl = force_ttl;
entry.create_time = time(nullptr);
for (const auto & part : parts)
......@@ -3517,7 +3512,7 @@ BlockOutputStreamPtr StorageReplicatedMergeTree::write(const ASTPtr & /*query*/,
bool StorageReplicatedMergeTree::optimize(
const ASTPtr &,
const StorageMetadataPtr & metadata_snapshot,
const StorageMetadataPtr &,
const ASTPtr & partition,
bool final,
bool deduplicate,
......@@ -3541,7 +3536,6 @@ bool StorageReplicatedMergeTree::optimize(
return false;
};
bool force_ttl = (final && metadata_snapshot->hasAnyTTL());
const auto storage_settings_ptr = getSettings();
if (!partition && final)
......@@ -3574,7 +3568,7 @@ bool StorageReplicatedMergeTree::optimize(
ReplicatedMergeTreeLogEntryData merge_entry;
CreateMergeEntryResult create_result = createLogEntryToMergeParts(
zookeeper, future_merged_part.parts,
future_merged_part.name, future_merged_part.type, deduplicate, force_ttl,
future_merged_part.name, future_merged_part.type, deduplicate,
&merge_entry, can_merge.getVersion());
if (create_result == CreateMergeEntryResult::MissingPart)
......@@ -3629,7 +3623,7 @@ bool StorageReplicatedMergeTree::optimize(
ReplicatedMergeTreeLogEntryData merge_entry;
CreateMergeEntryResult create_result = createLogEntryToMergeParts(
zookeeper, future_merged_part.parts,
future_merged_part.name, future_merged_part.type, deduplicate, force_ttl,
future_merged_part.name, future_merged_part.type, deduplicate,
&merge_entry, can_merge.getVersion());
if (create_result == CreateMergeEntryResult::MissingPart)
......
......@@ -449,7 +449,6 @@ private:
const String & merged_name,
const MergeTreeDataPartType & merged_part_type,
bool deduplicate,
bool force_ttl,
ReplicatedMergeTreeLogEntryData * out_log_entry,
int32_t log_version);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册