Skip to content
  • Venkatesh Duggirala's avatar
    2592577c
    Bug#26034192 THD->HA_DATA[HT_ARG->SLOT].HA_PTR_BACKUP == __NULL || · 2592577c
    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.
    2592577c
    Bug#26034192 THD->HA_DATA[HT_ARG->SLOT].HA_PTR_BACKUP == __NULL ||
    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