• Venkatesh Duggirala's avatar
    BUG#11753923-SQL THREAD CRASHES ON DISK FULL · 39323920
    Venkatesh Duggirala authored
    Problem:If Disk becomes full while writing into the binlog,
    then the server instance hangs till someone frees the space.
    After user frees up the disk space, mysql server crashes
    with an assert (m_status != DA_EMPTY)
    
    Analysis: wait_for_free_space is being called in an
    infinite loop i.e., server instance will hang until
    someone frees up the space. So there is no need to
    set status bit in diagnostic area.
    
    Fix: Replace my_error/my_printf_error with
    sql_print_warning() which prints the warning in error log.
    
    include/my_sys.h:
      Provision to call sql_print_warning from mysys files
    mysys/errors.c:
      Replace my_error/my_printf_error with
      sql_print_warning() which prints the warning in error log.
    mysys/my_error.c:
      implementation of my_printf_warning
    mysys/my_write.c:
      Adding logic to break infinite loop in the simulation
    sql/mysqld.cc:
      Provision to call sql_print_warning from mysys files
    39323920
my_error.c 8.5 KB