• mariadb-DebarunBanerjee's avatar
    MDEV-34166 Server could hang with BP < 80M under stress · b2944adb
    mariadb-DebarunBanerjee authored
    BUF_LRU_MIN_LEN (256) is too high value for low buffer pool(BP) size.
    For example, for BP size lower than 80M and 16 K page size, the limit is
    more than 5% of total BP and for lowest BP 5M, it is 80% of the BP.
    Non-data objects like explicit locks could occupy part of the BP pool
    reducing the pages available for LRU. If LRU reaches minimum limit and
    if no free pages are available, server would hang with page cleaner not
    able to free any more pages.
    
    Fix: To avoid such hang, we adjust the LRU limit lower than the limit
    for data objects as checked in buf_LRU_check_size_of_non_data_objects()
    i.e. one page less than 5% of BP.
    b2944adb
lock0lock.cc 195 KB