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.
friend struct ReplicatedMergeTreeTableMetadata;
    friend class StorageReplicatedMergeTree;
    friend class MergeTreeDataWriter;
    friend class MergeTask;
    friend class IPartMetadataManager;
    friend class IMergedBlockOutputStream; 
    bool require_part_metadata;
    
    
    String relative_data_path;
    
    ColumnSizeByName column_sizes;
    
    IndexSizeByName secondary_index_sizes;
    
    BrokenPartCallback broken_part_callback;
    String log_name;
    Poco::Logger * log;
    
    
    MultiVersion<MergeTreeSettings> storage_settings;
    
    mutable std::shared_mutex pinned_part_uuids_mutex;
    PinnedPartUUIDsPtr pinned_part_uuids;
    
    mutable std::atomic_bool transactions_enabled = false;
    
    struct TagByInfo{};
    struct TagByStateAndInfo{};
    static const MergeTreePartInfo & dataPartPtrToInfo(const DataPartPtr & part)