提交 4b83a8d3 编写于 作者: A Alexey Milovidov

dbms: tiny modifications [#METR-12784].

上级 540c7f67
......@@ -524,6 +524,8 @@ public:
friend class MergeTreeData;
MergeTreeData * data = nullptr;
/// Что делать для отката операции.
DataPartsVector removed_parts;
DataPartsVector added_parts;
};
......@@ -652,7 +654,7 @@ public:
DataPartPtr getPartIfExists(const String & part_name);
/** Переименовывает временный кусок в постоянный и добавляет его в рабочий набор.
* Если increment!=nullptr, индекс куска берется из инкремента. Иначе индекс куска не меняется.
* Если increment != nullptr, индекс куска берется из инкремента. Иначе индекс куска не меняется.
* Предполагается, что кусок не пересекается с существующими.
* Если out_transaction не nullptr, присваивает туда объект, позволяющий откатить добавление куска (но не переименование).
*/
......
......@@ -310,8 +310,7 @@ MergeTreeData::DataPartsVector MergeTreeData::grabOldParts()
time_t now = time(0);
for (DataParts::iterator it = all_data_parts.begin(); it != all_data_parts.end();)
{
int ref_count = it->use_count();
if (ref_count == 1 && /// После этого ref_count не может увеличиться.
if (it->unique() && /// После этого ref_count не может увеличиться.
(*it)->remove_time < now &&
now - (*it)->remove_time > settings.old_parts_lifetime)
{
......@@ -639,7 +638,7 @@ MergeTreeData::DataPartsVector MergeTreeData::renameTempPartAndReplace(
MutableDataPartPtr & part, Increment * increment, Transaction * out_transaction)
{
if (out_transaction && out_transaction->data)
throw Exception("Using the same MergeTreeData::Transaction for overlapping transactions is invalid");
throw Exception("Using the same MergeTreeData::Transaction for overlapping transactions is invalid", ErrorCodes::LOGICAL_ERROR);
LOG_TRACE(log, "Renaming " << part->name << ".");
......
......@@ -1731,7 +1731,7 @@ void StorageReplicatedMergeTree::partCheckThread()
part_name = parts_to_check_queue.front();
}
}
if (part_name.empty())
if (part_name.empty()) /// TODO Здесь race condition?
{
parts_to_check_event.wait();
continue;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册