For some reasons when we delete a MergeTree Part in atomic way something may go wrong - and leave the `delete_tmp_*` folder or it's part on disk. This may lead to a disk space consumption over time.

It's suggested to delete this folders at least at server start-up. Current solution with `clearOldTemporaryDirectories()` doesn't work because this method is called periodically from a thread without any locks or advisory on folders - it may cause the race conditions.
covered_part->remove_time.store(current_time, std::memory_order_relaxed);
                    reduce_bytes += covered_part->getBytesOnDisk();
                    reduce_rows += covered_part->rows_count;
                    data.modifyPartState(covered_part, DataPartState::Outdated);
                    data.removePartContributionToColumnAndSecondaryIndexSizes(covered_part);
                }
                reduce_parts += covered_parts.size();
                add_bytes += part->getBytesOnDisk();
                add_rows += part->rows_count;
                ++add_parts;
                data.modifyPartState(part, DataPartState::Active);
                data.addPartContributionToColumnAndSecondaryIndexSizes(part);
            }
        }
        if (reduce_parts == 0)
        {
            for (const auto & part : precommitted_parts)
                data.updateObjectColumns(part, parts_lock);
        }
        else
            data.resetObjectColumnsFromActiveParts(parts_lock);
        ssize_t diff_bytes = add_bytes - reduce_bytes;
        ssize_t diff_rows = add_rows - reduce_rows;
        ssize_t diff_parts  = add_parts - reduce_parts;
        data.increaseDataVolume(diff_bytes, diff_rows, diff_parts);
    }
    clear();
    return total_covered_parts;
}
bool MergeTreeData::isPrimaryOrMinMaxKeyColumnPossiblyWrappedInFunctions(