• Marko Mäkelä's avatar
    MDEV-27026 innodb_fts.concurrent_insert failed · 48b974b2
    Marko Mäkelä authored
    Most of this was likely already fixed by MDEV-27017.
    On one implementation of the AMD64 ISA, the test
    innodb_fts.concurrent_insert would still occasionally hang,
    with both dict_sys_t::evict_table_LRU() and
    dict_index_set_merge_threshold() waiting in dict_sys_t::lock()
    several threads waiting in dict_sys_t::freeze(),
    no thread holding exclusive dict_sys.latch and also no thread
    in the stack traces apparently holding any dict_sys.latch,
    even though dict_sys.latch_readers == 1.
    
    To prevent this scenario, we will remove the dict_sys.latch
    acquisition from dict_index_set_merge_threshold(). It is actually
    not needed, because dict_sys.sys_indexes will not change after
    InnoDB startup. The SYS_INDEXES leaf page will be sufficiently
    protected by the page latch.
    
    There potentially is a bug in the srw_lock implementation,
    which will have to be investigated further.
    48b974b2
dict0dict.cc 130 KB