From f5f55988f893c000fba891f8aa71cff25c21e16f Mon Sep 17 00:00:00 2001 From: alesapin Date: Tue, 25 Feb 2020 13:50:17 +0300 Subject: [PATCH] Fix materialize ttl --- .../MergeTree/MergeTreeDataMergerMutator.cpp | 12 +++++++----- dbms/src/Storages/StorageReplicatedMergeTree.cpp | 5 ----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/dbms/src/Storages/MergeTree/MergeTreeDataMergerMutator.cpp b/dbms/src/Storages/MergeTree/MergeTreeDataMergerMutator.cpp index c122d4cdb63..740d6ff44b6 100644 --- a/dbms/src/Storages/MergeTree/MergeTreeDataMergerMutator.cpp +++ b/dbms/src/Storages/MergeTree/MergeTreeDataMergerMutator.cpp @@ -1054,6 +1054,10 @@ MergeTreeData::MutableDataPartPtr MergeTreeDataMergerMutator::mutatePartToTempor }; bool need_remove_expired_values = false; + + if (in && should_execute_ttl(in->getHeader().getNamesAndTypesList().getNames())) + need_remove_expired_values = true; + /// All columns from part are changed and may be some more that were missing before in part if (source_part->getColumns().isSubsetOf(updated_header.getNamesAndTypesList())) { @@ -1062,11 +1066,8 @@ MergeTreeData::MutableDataPartPtr MergeTreeDataMergerMutator::mutatePartToTempor in = std::make_shared( std::make_shared(in, data.primary_key_and_skip_indices_expr)); - if (should_execute_ttl(in->getHeader().getNamesAndTypesList().getNames())) - { - need_remove_expired_values = true; + if (need_remove_expired_values) in = std::make_shared(in, data, new_data_part, time_of_mutation, true); - } IMergeTreeDataPart::MinMaxIndex minmax_idx; @@ -1342,7 +1343,8 @@ void MergeTreeDataMergerMutator::splitMutationCommands( { if (command.type == MutationCommand::Type::DELETE || command.type == MutationCommand::Type::UPDATE - || command.type == MutationCommand::Type::MATERIALIZE_INDEX) + || command.type == MutationCommand::Type::MATERIALIZE_INDEX + || command.type == MutationCommand::Type::MATERIALIZE_TTL) { for_interpreter.push_back(command); } diff --git a/dbms/src/Storages/StorageReplicatedMergeTree.cpp b/dbms/src/Storages/StorageReplicatedMergeTree.cpp index d3b74b212c6..f8c003953f2 100644 --- a/dbms/src/Storages/StorageReplicatedMergeTree.cpp +++ b/dbms/src/Storages/StorageReplicatedMergeTree.cpp @@ -5253,11 +5253,6 @@ void StorageReplicatedMergeTree::getCommitPartOps( } /// Information about the part, in the replica - - //ops.emplace_back(zkutil::makeCheckRequest( - // zookeeper_path + "/columns", - // columns_version)); - if (storage_settings_ptr->use_minimalistic_part_header_in_zookeeper) { ops.emplace_back(zkutil::makeCreateRequest(