mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.5 into 10.6
This commit is contained in:
@@ -61,17 +61,6 @@ set global innodb_fil_make_page_dirty_debug = 0;
|
|||||||
set global innodb_buf_flush_list_now = 1;
|
set global innodb_buf_flush_list_now = 1;
|
||||||
|
|
||||||
--let CLEANUP_IF_CHECKPOINT=drop table t1, unexpected_checkpoint;
|
--let CLEANUP_IF_CHECKPOINT=drop table t1, unexpected_checkpoint;
|
||||||
# Occasionally, a checkpoint would occur on the MSAN builder.
|
|
||||||
# We do not know the reason, because the failure can only be reproduced if there is
|
|
||||||
# enough load in that environment.
|
|
||||||
# Therefore, we allow the test to be skipped when run on MSAN.
|
|
||||||
# In other environments, we want the test to fail if a checkpoint occurs,
|
|
||||||
# so that we would catch it if it starts to happen regularly.
|
|
||||||
if (`select count(*) from information_schema.system_variables where variable_name='have_sanitizer' and global_value like "MSAN%"`)
|
|
||||||
{
|
|
||||||
--let CLEANUP_IF_CHECKPOINT=drop table t1;
|
|
||||||
}
|
|
||||||
|
|
||||||
--source ../include/no_checkpoint_end.inc
|
--source ../include/no_checkpoint_end.inc
|
||||||
|
|
||||||
--echo # Make the 1st page (page_no=0) and 2nd page (page_no=1)
|
--echo # Make the 1st page (page_no=0) and 2nd page (page_no=1)
|
||||||
|
@@ -2338,9 +2338,9 @@ static void buf_flush_page_cleaner()
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
DBUG_EXECUTE_IF("ib_log_checkpoint_avoid", continue;);
|
IF_DBUG(if (_db_keyword_(nullptr, "ib_log_checkpoint_avoid", 1) ||
|
||||||
DBUG_EXECUTE_IF("ib_log_checkpoint_avoid_hard", continue;);
|
_db_keyword_(nullptr, "ib_log_checkpoint_avoid_hard", 1))
|
||||||
|
continue,);
|
||||||
if (!recv_recovery_is_on() &&
|
if (!recv_recovery_is_on() &&
|
||||||
!srv_startup_is_before_trx_rollback_phase &&
|
!srv_startup_is_before_trx_rollback_phase &&
|
||||||
srv_operation <= SRV_OPERATION_EXPORT_RESTORED)
|
srv_operation <= SRV_OPERATION_EXPORT_RESTORED)
|
||||||
|
@@ -18311,7 +18311,10 @@ buf_flush_list_now_set(THD*, st_mysql_sys_var*, void*, const void* save)
|
|||||||
if (s)
|
if (s)
|
||||||
buf_flush_sync();
|
buf_flush_sync();
|
||||||
else
|
else
|
||||||
|
{
|
||||||
while (buf_flush_list_space(fil_system.sys_space, nullptr));
|
while (buf_flush_list_space(fil_system.sys_space, nullptr));
|
||||||
|
os_aio_wait_until_no_pending_writes(true);
|
||||||
|
}
|
||||||
mysql_mutex_lock(&LOCK_global_system_variables);
|
mysql_mutex_lock(&LOCK_global_system_variables);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -418,7 +418,8 @@ err_exit:
|
|||||||
+ header_page->page.frame, &ibuf.seg_size, &mtr);
|
+ header_page->page.frame, &ibuf.seg_size, &mtr);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
DBUG_EXECUTE_IF("intermittent_read_failure", continue;);
|
IF_DBUG(if (_db_keyword_(nullptr, "intermittent_read_failure",
|
||||||
|
1)) continue,);
|
||||||
ut_ad(ibuf.seg_size >= 2);
|
ut_ad(ibuf.seg_size >= 2);
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
|
@@ -776,10 +776,9 @@ std::pair<lsn_t,mtr_t::page_flush_ahead> mtr_t::do_write()
|
|||||||
#ifndef DBUG_OFF
|
#ifndef DBUG_OFF
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (m_log_mode != MTR_LOG_ALL)
|
if (m_log_mode != MTR_LOG_ALL ||
|
||||||
|
_db_keyword_(nullptr, "skip_page_checksum", 1))
|
||||||
continue;
|
continue;
|
||||||
DBUG_EXECUTE_IF("skip_page_checksum", continue;);
|
|
||||||
|
|
||||||
for (const mtr_memo_slot_t& slot : m_memo)
|
for (const mtr_memo_slot_t& slot : m_memo)
|
||||||
if (slot.type & MTR_MEMO_MODIFY)
|
if (slot.type & MTR_MEMO_MODIFY)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user