mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
InnoDB: Increment the lock wait watchdog timeout during CHECK TABLE
(Bug #2694) innobase/include/srv0srv.h: Add srv_fatal_semaphore_wait_threshold innobase/include/sync0arr.h: Improve comment of sync_array_print_long_waits() innobase/row/row0mysql.c: Lengthen the srv_fatal_semaphore_wait_threshold by 2 hours during CHECK TABLE innobase/srv/srv0srv.c: Add srv_fatal_semaphore_wait_threshold innobase/sync/sync0arr.c: Improve comment of sync_array_print_long_waits(). Replace the fixed timeout of 600 seconds with srv_fatal_semaphore_wait_threshold.
This commit is contained in:
@ -2805,7 +2805,12 @@ row_check_table_for_mysql(
|
||||
REPEATABLE READ here */
|
||||
|
||||
prebuilt->trx->isolation_level = TRX_ISO_REPEATABLE_READ;
|
||||
|
||||
|
||||
/* Enlarge the fatal lock wait timeout during CHECK TABLE. */
|
||||
mutex_enter(&kernel_mutex);
|
||||
srv_fatal_semaphore_wait_threshold += 7200; /* 2 hours */
|
||||
mutex_exit(&kernel_mutex);
|
||||
|
||||
index = dict_table_get_first_index(table);
|
||||
|
||||
while (index != NULL) {
|
||||
@ -2853,6 +2858,11 @@ row_check_table_for_mysql(
|
||||
ret = DB_ERROR;
|
||||
}
|
||||
|
||||
/* Restore the fatal lock wait timeout after CHECK TABLE. */
|
||||
mutex_enter(&kernel_mutex);
|
||||
srv_fatal_semaphore_wait_threshold -= 7200; /* 2 hours */
|
||||
mutex_exit(&kernel_mutex);
|
||||
|
||||
prebuilt->trx->op_info = (char *) "";
|
||||
|
||||
return(ret);
|
||||
|
Reference in New Issue
Block a user