[MDEV-28550] improper handling of replication event group that contains Gtid_log_list_event Created: 2022-05-12  Updated: 2022-06-09  Resolved: 2022-06-09

Status: Closed
Project: MariaDB Server
Component/s: Replication
Affects Version/s: 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9
Fix Version/s: 10.2.44, 10.3.35, 10.4.25, 10.5.16, 10.6.8, 10.7.4, 10.8.3, 10.9.1

Type: Bug Priority: Major
Reporter: Andrei Elkin Assignee: Brandon Nesterenko
Resolution: Fixed Votes: 0
Labels: None


 Description   

It's legal to have Gtid_list_log_event inside a group. E.g
{{Gtid_event, Gtid_log_list_event, ... }} is permitted.
However, the slave IO thread treated both and Gtid_log_list_event specifically (see how to repeat)
as the terminal even when the group represents a DDL query.
That causes a premature Gtid state update so the slave IO would think
the whole group has been collected while in fact ... the actual terminal events are yet to be seen and process.

How to reproduce requires a 10.9 test:
./mtr rpl_mysqlbinlog_slave_consistency.test


Generated at Thu Feb 08 10:01:36 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.