-
Venkatesh Duggirala authored
(THD->IS_BINLOG_APPLIER() Problem: Changing server internal variable pseudo_slave_mode inside a transaction is hitting asserts. Analysis: pseudo_slave_mode is an internal server variable which is used to detect whether a thread is binlog applier execution thread or not. In documentation , we say that "This variable is for internal server use. SET pseudo_slave_mode= 0,1 are commands that mysqlbinlog adds to beginning and end of binary log/relay log dumps. . Binary logs cannot contain partial transactions . if relay log is having partial transaction at the end, then we append "Rollback" and then append SET pseudo_slave_mode= 0". i.e., there is no real use case inside the server for this variable to be allowed to change inside a transaction. Fix: Restricting the invalid use case of pseudo_slave_mode. Users cannot be able to change pseudo_slave_mode inside a transaction.
Venkatesh Duggirala authored(THD->IS_BINLOG_APPLIER() Problem: Changing server internal variable pseudo_slave_mode inside a transaction is hitting asserts. Analysis: pseudo_slave_mode is an internal server variable which is used to detect whether a thread is binlog applier execution thread or not. In documentation , we say that "This variable is for internal server use. SET pseudo_slave_mode= 0,1 are commands that mysqlbinlog adds to beginning and end of binary log/relay log dumps. . Binary logs cannot contain partial transactions . if relay log is having partial transaction at the end, then we append "Rollback" and then append SET pseudo_slave_mode= 0". i.e., there is no real use case inside the server for this variable to be allowed to change inside a transaction. Fix: Restricting the invalid use case of pseudo_slave_mode. Users cannot be able to change pseudo_slave_mode inside a transaction.
Loading