Skip to content
  • Dyre Tjeldvoll's avatar
    81550450
    BUG#22083048: MUTEX REQUEST ON LOCK_OPEN CAUSE HANG IN OPEN_TABLE_UNCACHED() · 81550450
    Dyre Tjeldvoll authored
    Problem: Adding a virtual generated column could cause a deadlock in
    debug builds. This was caused by a virtual column purge thread
    callback becoming blocked in open_table_uncached() because it could
    not acquire the LOCK_open mutex. The mutex, in turn, was needed to
    check if the table being opened was present in the TDC.
    
    Solution: Relax condition for assert and associated lock so that it is
    possible to call open_table_uncached() without taking LOCK_open or
    checking the TDC provided the table will not be opened in SE. Relaxing
    the assert is safe in this case as the second share outside the TDC
    will not have its own SE private data.
    81550450
    BUG#22083048: MUTEX REQUEST ON LOCK_OPEN CAUSE HANG IN OPEN_TABLE_UNCACHED()
    Dyre Tjeldvoll authored
    Problem: Adding a virtual generated column could cause a deadlock in
    debug builds. This was caused by a virtual column purge thread
    callback becoming blocked in open_table_uncached() because it could
    not acquire the LOCK_open mutex. The mutex, in turn, was needed to
    check if the table being opened was present in the TDC.
    
    Solution: Relax condition for assert and associated lock so that it is
    possible to call open_table_uncached() without taking LOCK_open or
    checking the TDC provided the table will not be opened in SE. Relaxing
    the assert is safe in this case as the second share outside the TDC
    will not have its own SE private data.
Loading