mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
42e1815ad8
Let us introduce a dummy variable innodb_max_purge_lag_wait for waiting that the InnoDB history list length is below the user-specified limit. Specifically, SET GLOBAL innodb_max_purge_lag_wait=0; should wait for all history to be purged. This could be useful when upgrading from an older version to MariaDB 10.3 or later, to avoid hitting MDEV-15912. Note: the history cannot be purged if there exist transactions that may see old versions. Reviewed by: Vladislav Vaintroub
17 lines
443 B
PHP
17 lines
443 B
PHP
# Wait for everything to be purged.
|
|
# The user should have set innodb_purge_rseg_truncate_frequency=1.
|
|
|
|
--disable_query_log
|
|
if (!$wait_all_purged)
|
|
{
|
|
SET GLOBAL innodb_max_purge_lag_wait= 0;
|
|
}
|
|
if ($wait_all_purged)
|
|
{
|
|
eval SET GLOBAL innodb_max_purge_lag_wait= $wait_all_purged;
|
|
}
|
|
--enable_query_log
|
|
|
|
--replace_regex /.*History list length ([0-9]+).*/\1/
|
|
let $remaining= `SHOW ENGINE INNODB STATUS`;
|
|
echo $remaining transactions not purged;
|