• Rohit Kalhans's avatar
    Bug#11762667: MYSQLBINLOG IGNORES ERRORS WHILE WRITING OUTPUT · d8b2d4a0
    Rohit Kalhans authored
    Problem: mysqlbinlog exits without any error code in case of
    file write error. It is because of the fact that the calls
    to Log_event::print() method does not return a value and the
    thus any error were being ignored.
    
    Resolution: We resolve this problem by checking for the 
    IO_CACHE::error == -1 after every call to Log_event:: print()
    and terminating the further execution.
    
    client/mysqlbinlog.cc:
      - handled error conditions during event->print() calls
      - added check for error in end_io_cache()
    mysys/my_write.c:
      Added debug code to simulate file write error.
      error returned will be ENOSPC=> error no space on the disk
    sql/log_event.cc:
      Added debug code to simulate file write error, by reducing the size of io cache.
    d8b2d4a0
mysqlbinlog.cc 69.3 KB