mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 08:02:02 +00:00
Merge
This commit is contained in:
parent
39fa078e85
commit
557a48f9e5
@ -369,7 +369,7 @@ public:
|
||||
if (data && (!removed_parts.empty() || !added_parts.empty()))
|
||||
{
|
||||
LOG_DEBUG(data->log, "Undoing transaction");
|
||||
data->replaceParts(removed_parts, added_parts);
|
||||
data->replaceParts(removed_parts, added_parts, true);
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
@ -464,8 +464,9 @@ public:
|
||||
DataPartsVector renameTempPartAndReplace(MutableDataPartPtr part, Increment * increment = nullptr, Transaction * out_transaction = nullptr);
|
||||
|
||||
/** Убирает из рабочего набора куски remove и добавляет куски add.
|
||||
* Если clear_without_timeout, данные будут удалены при следующем clearOldParts, игнорируя old_parts_lifetime.
|
||||
*/
|
||||
void replaceParts(const DataPartsVector & remove, const DataPartsVector & add);
|
||||
void replaceParts(const DataPartsVector & remove, const DataPartsVector & add, bool clear_without_timeout);
|
||||
|
||||
/** Переименовывает кусок в prefix_кусок и убирает его из рабочего набора.
|
||||
* Лучше использовать только когда никто не может читать или писать этот кусок
|
||||
|
@ -43,7 +43,7 @@ public:
|
||||
if (block_id.empty())
|
||||
block_id = part->checksums.summaryDataChecksum();
|
||||
|
||||
LOG_DEBUG(log, "Wrote block " << part_number << " with ID " << block_id);
|
||||
LOG_DEBUG(log, "Wrote block " << part_number << " with ID " << block_id << ", " << current_block.block.rows() << " rows");
|
||||
|
||||
MergeTreeData::Transaction transaction; /// Если не получится добавить кусок в ZK, снова уберем его из рабочего набора.
|
||||
storage.data.renameTempPartAndAdd(part, nullptr, &transaction);
|
||||
|
@ -679,7 +679,7 @@ MergeTreeData::DataPartsVector MergeTreeData::renameTempPartAndReplace(
|
||||
return res;
|
||||
}
|
||||
|
||||
void MergeTreeData::replaceParts(const DataPartsVector & remove, const DataPartsVector & add)
|
||||
void MergeTreeData::replaceParts(const DataPartsVector & remove, const DataPartsVector & add, bool clear_without_timeout)
|
||||
{
|
||||
LOG_TRACE(log, "Removing " << remove.size() << " parts and adding " << add.size() << " parts.");
|
||||
|
||||
@ -687,7 +687,7 @@ void MergeTreeData::replaceParts(const DataPartsVector & remove, const DataParts
|
||||
|
||||
for (const DataPartPtr & part : remove)
|
||||
{
|
||||
part->remove_time = time(0);
|
||||
part->remove_time = clear_without_timeout ? 0 : time(0);
|
||||
data_parts.erase(part);
|
||||
}
|
||||
for (const DataPartPtr & part : add)
|
||||
|
Loading…
Reference in New Issue
Block a user