-
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.
Dyre Tjeldvoll authoredProblem: 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