Comment 5 for bug 1522385

Revision history for this message
Krunal Bauskar (krunal-bauskar) wrote :

commit 71bf847450c8dc9b1e5992cf4d5b0858ac77646e
Merge: f6f18fc 8181e9e
Author: Krunal Bauskar <email address hidden>
Date: Wed Jan 20 11:55:41 2016 +0530

    Merge pull request #79 from kbauskar/5.6-pxc-489

    - PXC#489: GTID holes created on cluster peers of async slave node (C…

commit 8181e9e9efe5a993977890f3c000d088fb7fd9b8
Author: Krunal Bauskar <email address hidden>
Date: Mon Jan 18 14:36:33 2016 +0530

    - PXC#489: GTID holes created on cluster peers of async slave node (CID#62236)

      Issue:
      -----

      Let's understand the issue using a topology.

      - Independent Master
      - Galera Nodes (node#1 and node#2).
      - Node#1 is acting as async-slave to Independent Master.

      Let's say user execute some action on node#1 these action will get replicated
      in galera-eco-system but at same time it is data is being modified directly
      on slave putting slave out of sync from master.

      Now same action is executed on master. This action is replicated to slave
      but given that slave already has executed the action slave would raise and
      error. This is can be handled by installed error handler that would allow
      slave to suppress such errors.

      There are other use-cases where-in "UPDATE" can cause same record to update
      to same value in which case UPDATE simply doesn't execute the action on slave.

      In all such cases even though action is suppressed GTID sequence update
      still needs to get replicated in galera-eco-system as it is done in
      Master-Slave eco-system.

      (There could be different views on whether event in master-slave eco-system
       should be propogated to galera-eco-system but let's for now assume
       this is needed).

      Solution:
      ---------

      When such a situation arise in Master-Slave eco-system, Slave will create
      an empty GTID event that is then replicated if Slave is acting as Master
      to some other Slave.

      Galera will follow the same. Such empty GTID event will now also be replicated
      in Galera eco-system.