• Jan Lindström's avatar
    MDEV-12741: innodb.ibuf_not_empty failed in buildbot with "InnoDB: Trying to... · aa22981d
    Jan Lindström authored
    MDEV-12741: innodb.ibuf_not_empty failed in buildbot with "InnoDB: Trying to do I/O to a tablespace which does not exist"
    
    Background thread is doing ibuf merge, in buf0rea.cc buf_read_ibuf_merge_pages().
    It first tries to get page_size and if space is not found it deletes them, but
    as we do not hold any mutexes, space can be marked as stopped between that
    and buf_read_page_low() for same space. This naturally leads seen error
    message on log.
    
    buf_read_page_low(): Add parameter ignore_missing_space = false that
    is passed to fil_io()
    
    buf_read_ibuf_merge_pages(): call buf_read_page_low with
    ignore_missing_space = true, this function will handle missing
    space error code after buf_read_page_low returns.
    
    fil_io(): if ignore_missing_space = true do not print error
    message about trying to do I/0 for missing space, just return
    correct error code that is handled later.
    aa22981d
buf0rea.cc 26 KB