• Kristofer Pettersson's avatar
    Bug#33982 debug assertion and crash reloading grant tables after sighup or kill · b3dd4d94
    Kristofer Pettersson authored
    In certain rare cases when a process was interrupted
    during a FLUSH PRIVILEGES operation the diagnostic
    area would be set to an error state but the function
    responsible for the operation would still signal
    success. This would lead to a debug assertion error
    later on when the server would attempt to reset the
    DA before sending the error message.
    
    This patch fixes the issue by assuring that
    reload_acl_and_cache() always fails if an error
    condition is raised.
    
    The second issue was that a KILL could cause
    a console error message which referred to a DA
    state without first making sure that such a
    state existed.
    
    This patch fixes this issue in two different
    palces by first checking DA state before
    fetching the error message.
    
     
    
    sql/sql_acl.cc:
      * Make sure that there is an error to print before attempting to do so.
      * Minor style change: change 1 to TRUE for clarity.
    sql/sql_parse.cc:
      * Always fail reload_acl_and_cache() if the query was killed.
    sql/sql_servers.cc:
      * Make sure that there is an error to print before attempting to do so.
    b3dd4d94
sql_acl.cc 194 KB