fix deadlock

This commit is contained in:
roverxu 2020-12-21 16:30:27 +08:00
parent 8e72b6d31b
commit f3fef24d30

View File

@ -1280,11 +1280,19 @@ void MergeTreeData::dropAllData()
LOG_TRACE(log, "dropAllData: removing data from memory.");
DataPartsVector all_parts(data_parts_by_info.begin(), data_parts_by_info.end());
DataPartsVector committed_parts = getDataPartsVector({DataPartState::Committed});
size_t committed_parts_count = 0;
for (const auto & parts_info : all_parts)
{
if (parts_info->state == DataPartState::Committed)
{
committed_parts_count++;
}
}
CurrentMetrics::sub(CurrentMetrics::Parts, all_parts.size());
CurrentMetrics::sub(CurrentMetrics::PartsActive, committed_parts.size());
CurrentMetrics::sub(CurrentMetrics::PartsInactive, all_parts.size() - committed_parts.size());
CurrentMetrics::sub(CurrentMetrics::PartsActive, committed_parts_count);
CurrentMetrics::sub(CurrentMetrics::PartsInactive, all_parts.size() - committed_parts_count);
data_parts_indexes.clear();
column_sizes.clear();