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.
{
        is_replicated = storage.supportsReplication();
        is_remote = storage.isRemote();
        replica_name = storage.getReplicaName();
        zookeeper_name = storage.getZooKeeperName();
        table_shared_id = storage.getTableSharedID();
    }
    void save(DiskPtr data_disk, const String & path) const
    {
        auto metadata_disk = data_disk->getMetadataDiskIfExistsOrSelf();
        auto file_path = getFileName(path);
        auto buffer = metadata_disk->writeFile(file_path, DBMS_DEFAULT_BUFFER_SIZE, WriteMode::Rewrite);
        writeIntText(version, *buffer);
        buffer->write("\n", 1);
        writeBoolText(is_replicated, *buffer);
        buffer->write("\n", 1);
        writeBoolText(is_remote, *buffer);
        buffer->write("\n", 1);
        writeString(replica_name, *buffer);
        buffer->write("\n", 1);
        writeString(zookeeper_name, *buffer);
        buffer->write("\n", 1);
        writeString(table_shared_id, *buffer);
        buffer->write("\n", 1);
    }
    bool load(DiskPtr data_disk, const String & path)