• Marko Mäkelä's avatar
    MDEV-31621 Remove ibuf_read_merge_pages() call from ibuf_insert_low() · 5b62644e
    Marko Mäkelä authored
    When InnoDB attempts to buffer a change operation of a secondary index
    leaf page (to insert, delete-mark or remove a record) and the
    change buffer is too large, InnoDB used to trigger a change buffer merge
    that could affect any tables. This could lead to huge variance in
    system throughput and potentially unpredictable crashes, in case the
    change buffer was corrupted and a crash occurred while attempting to
    merge changes to a table that is not being accessed by the current
    SQL statement.
    
    ibuf_insert_low(): Simply return DB_STRONG_FAIL when the maximum size
    of the change buffer is exceeded.
    
    ibuf_contract_after_insert(): Remove.
    
    ibuf_get_merge_page_nos_func(): Remove a constant parameter.
    The function ibuf_contract() will be our only caller, during
    shutdown with innodb_fast_shutdown=0.
    5b62644e
ibuf0ibuf.cc 131 KB