Skip to content
  • Pedro Figueiredo's avatar
    a9d87eec
    BUG#30311908 RESTARTING SERVER POST 'RESET SLAVE', CLEANS UP SLAVE_RELAY_LOG_INFO SETTINGS · a9d87eec
    Pedro Figueiredo authored
    
    
    Description
    -----------
    While implementing WL#12966 and WL#12968, decision was made to not clear
    `PRIVILEGE_CHECKS_USER` and `REQUIRES_ROW_FORMAT` options values when performing
    a `RESET SLAVE`. The state of such options is not kept if after a `RESET SLAVE`
    the server is restarted.
    
    Analysis
    --------
    Although the option values are kept in memory after a `RESET SLAVE`, the same
    values are not persisted into the configured repository in order to be reloaded
    into memory after a server restart.
    
    Fix
    ---
    1) Make `Relay_log_info` fields nullable.
    2) Make `RESET SLAVE` clear all field values except for `PRIVILEGE_CHECKS_USER`
       and `REQUIRE_ROW_FORMAT`.
    3) Persist the cleared record into the relay-log repositories.
    4) Change boot logic so that the cleared record is used to instantiate
       `PRIVILEGE_CHECKS_USER` and `REQUIRE_ROW_FORMAT` and then relay log is
       initialized as before.
    
    RB: 23376
    Reviewed-by: default avatarPedro Gomes <pedro.gomes@oracle.com>
    Reviewed-by: default avatarLuís Soares <luis.soares@oracle.com>
    a9d87eec
    BUG#30311908 RESTARTING SERVER POST 'RESET SLAVE', CLEANS UP SLAVE_RELAY_LOG_INFO SETTINGS
    Pedro Figueiredo authored
    
    
    Description
    -----------
    While implementing WL#12966 and WL#12968, decision was made to not clear
    `PRIVILEGE_CHECKS_USER` and `REQUIRES_ROW_FORMAT` options values when performing
    a `RESET SLAVE`. The state of such options is not kept if after a `RESET SLAVE`
    the server is restarted.
    
    Analysis
    --------
    Although the option values are kept in memory after a `RESET SLAVE`, the same
    values are not persisted into the configured repository in order to be reloaded
    into memory after a server restart.
    
    Fix
    ---
    1) Make `Relay_log_info` fields nullable.
    2) Make `RESET SLAVE` clear all field values except for `PRIVILEGE_CHECKS_USER`
       and `REQUIRE_ROW_FORMAT`.
    3) Persist the cleared record into the relay-log repositories.
    4) Change boot logic so that the cleared record is used to instantiate
       `PRIVILEGE_CHECKS_USER` and `REQUIRE_ROW_FORMAT` and then relay log is
       initialized as before.
    
    RB: 23376
    Reviewed-by: default avatarPedro Gomes <pedro.gomes@oracle.com>
    Reviewed-by: default avatarLuís Soares <luis.soares@oracle.com>
Loading