MDEV-25313: Assertion pending==log_requests.start... failed
log_flush_notify(): Restore the reload of log_requests.start that was accidentally removed in commit 8c2e3259c13d1d0a494fb3f9c1e5fb780a193ab1. Thanks to Elena Stepanova for a test case (repeatedly running FLUSH LOGS concurrently with InnoDB write transactions).
This commit is contained in:
parent
147a317e81
commit
7f75acc05c
@ -4506,6 +4506,7 @@ void log_flush_notify(lsn_t flush_lsn)
|
|||||||
if (auto pending= log_requests.start.load(std::memory_order_acquire))
|
if (auto pending= log_requests.start.load(std::memory_order_acquire))
|
||||||
{
|
{
|
||||||
mysql_mutex_lock(&log_requests.mutex);
|
mysql_mutex_lock(&log_requests.mutex);
|
||||||
|
pending= log_requests.start.load(std::memory_order_relaxed);
|
||||||
log_flush_notify_and_unlock(pending, flush_lsn);
|
log_flush_notify_and_unlock(pending, flush_lsn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user