Comment 8 for bug 1494399

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

commit f6f18fc39d1a9a75dde92237c42a40422e822595
Merge: 5e0c557 6e4c2d9
Author: Krunal Bauskar <email address hidden>
Date: Mon Jan 18 14:00:49 2016 +0530

    Merge pull request #78 from kbauskar/5.6-pxc-490

    - PXC#490: crash-safe slaves: relay_log_recovery breaks replication (…

commit 6e4c2d93a9edca1e196ebf49190d419117428bc8
Author: Krunal Bauskar <email address hidden>
Date: Thu Jan 14 09:58:51 2016 +0530

    - PXC#490: crash-safe slaves: relay_log_recovery breaks replication (CID#62894)


      Replication info table like slave_master_info, slave_relay_log_info are
      created in InnoDB to support crash-safe replication that was introduce in

      Being a innodb tables they default qualify for galera replication but they
      shouldn't as per the protocol as they are meant to be kept on active
      ASYNC slave only.

      MySQL flow does block bin-logging of events performed on these tables but
      WSREP replication missed blocking its replication.
      This causes start of trx in galera cluster which was not needed.

      Infact, the condition to append_key that starts trx in the galera eco-system
      was not adequated to handle case where-in bin-logging is turned-off for
      a specific flow like update performed to replication info table.


      Corrected condition that trigger start of replication in galera cluster.
      If bin-logging is turned-off then we avoid starting trx in galera eco-system.

      Note: We also explicitly allows replication when binlog-format = STATEMENT.
      This is an existing semantics so nothing new here but we made is explict
      and there-by kept the hook open only for STATEMENT and not for MIXED.
      It is interesting to learn that this hook is needed only for pt-table-checksum
      to operate that unfortunately relied on so called non-supported functionality
      of PXC cluster (replication under SBR is not supported).