• unknown's avatar
    Bug #28525 Node failures in PGMAN at ndbrequire (line 430) · babe38a4
    unknown authored
    
    storage/ndb/src/kernel/blocks/pgman.cpp:
      Under heavy insert PGMAN can run out of page entries
      even when set to 100 times page cache entries.
      
      In this use pattern the extra entries remain idle
      on LIRS stack.  Only ONSTACK is set.  There is not
      enough activity to free them the normal way.
      
      A study of PGMAN / DBTUP behaviour is needed.
      
      This patch adds new sublist SL_IDLE.  When page entry
      pool is empty, an idle entry is released from SL_IDLE
      front if there is any.  Otherwise, we still crash.
      
      The factor above is set from 100 to 10 (still high).
    storage/ndb/src/kernel/blocks/pgman.hpp:
      Under heavy insert PGMAN can run out of page entries
      even when set to 100 times page cache entries.
      
      In this use pattern the extra entries remain idle
      on LIRS stack.  Only ONSTACK is set.  There is not
      enough activity to free them the normal way.
      
      A study of PGMAN / DBTUP behaviour is needed.
      
      This patch adds new sublist SL_IDLE.  When page entry
      pool is empty, an idle entry is released from SL_IDLE
      front if there is any.  Otherwise, we still crash.
      
      The factor above is set from 100 to 10 (still high).
    babe38a4
pgman.cpp 56.3 KB