And waits for them. That's pointless.
{
        std::lock_guard lock{mutex};
        for (auto & merge_element : entries)
        {
            if ((partition_id.empty() || merge_element.partition_id == partition_id)
                && merge_element.table_id == table_id
                && merge_element.source_data_version < mutation_version
                && merge_element.result_data_version >= mutation_version)
                merge_element.is_cancelled = true;
        }
    }
    
    
    
    
    
    
    
    
    void bookMergeWithTTL()
    {
        ++merges_with_ttl_counter;
    }
    size_t getMergesWithTTLCount() const
    {
        return merges_with_ttl_counter;
    }
};
}