sujatha <sujatha.sivakumar@mariadb.com> writes:
Thank you for the review comments. You are right. Setting rgi->worker_error=1 for the 2 is the right way to handle. With this, upon reaching 'finish_event_group' 2nd will notify 3rd transaction that something went wrong during prior commit execution.
Ok, great if this fix works.
Also, this fix doesn't seem to belong with the other MDEV-18648 changes, it is unrelated to what the default parallel replication mode is. So please do it in a separate commit.
The missing transaction issue is possible, only in the case of slave_parallel_mode='optimistic'.
I *think* it is also possible in conservative mode. Not between different batches of transactions that group-committed together on the master, as you described. But between transactions in one gco. Though I did not check the code deeply for this. But my point was actually that this problem must exist also in earlier versions of MariaDB, where optimistic is not the default, but the user manually enables it. So it should be considered for fixing at least in 10.4 I would assume? - Kristian.