InnoDB error monitor might unnecessary wait log_sys mutex

Description

InnoDB error monitor is responsible to call every second
sync_arr_wake_threads_if_sema_free() to wake up possible hanging threads if they are missed in mutex_signal_object.

This is not possible if error monitor itself is on mutex/semaphore wait. We should avoid all unnecessary mutex/semaphore waits on error monitor.

Currently error monitor calls function buf_flush_stat_update() that calls log_get_lsn() function and there we will try to get log_sys mutex. Better, solution for error monitor is that in buf_flush_stat_update() we will try to get lsn with mutex_nowait() and if we did not get mutex do not update the stats.

Environment

None

Assignee

Jan Lindström

Reporter

Jan Lindström

Labels

Fix versions

Affects versions

Priority

Blocker
Configure