And waits for them. That's pointless.
};
    try
    {
        part = merger_mutator.mergePartsToTemporaryPart(
            future_merged_part,
            metadata_snapshot,
            *merge_entry,
            table_lock,
            entry.create_time,
            getContext(),
            reserved_space,
            entry.deduplicate,
            entry.deduplicate_by_columns,
            merging_params);
        merger_mutator.renameMergedTemporaryPart(part, parts, &transaction);
        try
        {
            checkPartChecksumsAndCommit(transaction, part);
        }
        catch (const Exception & e)
        {
            if (MergeTreeDataPartChecksums::isBadChecksumsErrorCode(e.code()))
            {
                transaction.rollback();
                ProfileEvents::increment(ProfileEvents::DataAfterMergeDiffersFromReplica);
                LOG_ERROR(log,
                    "{}. Data after merge is not byte-identical to data on another replicas. There could be several"
                    " reasons: 1. Using newer version of compression library after server update. 2. Using another"
                    " compression method. 3. Non-deterministic compression algorithm (highly unlikely). 4."
                    " Non-deterministic merge algorithm due to logical error in code. 5. Data corruption in memory due"