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.
bool have_parts_with_version_metadata = false;
    auto iter = data_parts_by_state_and_info.begin();
    while (iter != data_parts_by_state_and_info.end() && (*iter)->getState() == DataPartState::Active)
    {
        const DataPartPtr & part = *iter;
        part->loadVersionMetadata();
        VersionMetadata & version = part->version;
        if (part->wasInvolvedInTransaction())
        {
            have_parts_with_version_metadata = true;
        }
        else
        {
            ++iter;
            continue;
        }
        
        bool version_updated = false;
        chassert(!version.creation_tid.isEmpty());
        if (!part->version.creation_csn)
        {
            auto min = TransactionLog::getCSN(version.creation_tid);
            if (!min)
            {
                
                TransactionLog::assertTIDIsNotOutdated(version.creation_tid);
                min = Tx::RolledBackCSN;
            }
            LOG_TRACE(log, "Will fix version metadata of {} after unclean restart: part has creation_tid={}, setting creation_csn={}",
                      part->name, version.creation_tid, min);