• Andrei's avatar
    MDEV-28550 improper handling of replication event group that contains · 726bd8c9
    Andrei authored
    GTID_LIST_EVENT or INCIDENT_EVENT.
    
    It's legal to have either of the two inside a group. E.g
      Gtid_event, Gtid_log_list_event, Query_1, ... Xid_log_event
    is permitted.
    However, the slave IO thread treated both
    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 Query_1 etc are yet to process.
    
    Fixed with correcting a condition to compute the terminal event
    of the group.
    Tested with rpl_mysqlbinlog_slave_consistency (of 10.9) and
    rpl_gtid_errorlog.test.
    726bd8c9
slave.cc 266 KB