Skip to content

Commit 1ac12df

Browse files
author
Jan Lindström
committed
MDEV-7164: innodb.innodb-alter-table-disk-full fails in buildbot on Windows
Analysis: Test case uses Linux specific error codes. Fix: Can't run test case with Windows currently because requires to inject error to system.
1 parent c0a00a2 commit 1ac12df

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

mysql-test/suite/innodb/t/innodb-alter-table-disk-full.test

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# MDEV-6288: Innodb causes server crash after disk full, then can't ALTER TABLE any more
22
--source include/have_innodb.inc
3+
--source include/not_windows.inc
4+
--source include/not_valgrind.inc
5+
--source include/not_embedded.inc
36

47
# DEBUG_SYNC must be compiled in.
58
--source include/have_debug_sync.inc

storage/innobase/os/os0file.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5929,12 +5929,12 @@ os_aio_simulated_handle(
59295929
aio_slot->page_compression);
59305930
}
59315931

5932-
DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
5933-
os_has_said_disk_full = FALSE;);
5934-
DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
5935-
ret = 0;);
5936-
DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
5932+
if (aio_slot->type == OS_FILE_WRITE) {
5933+
DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28",
5934+
os_has_said_disk_full = FALSE;
5935+
ret = 0;
59375936
errno = 28;);
5937+
}
59385938

59395939
srv_set_io_thread_op_info(global_segment, "file i/o done");
59405940

storage/xtradb/os/os0file.cc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6022,12 +6022,10 @@ os_aio_simulated_handle(
60226022
aio_slot->page_compression);
60236023
}
60246024

6025-
DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
6026-
os_has_said_disk_full = FALSE;);
6027-
DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
6028-
ret = 0;);
6029-
DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
6030-
errno = 28;);
6025+
if (aio_slot->type == OS_FILE_WRITE) {
6026+
DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
6027+
os_has_said_disk_full = FALSE; ret = 0; errno = 28;);
6028+
}
60316029

60326030
srv_set_io_thread_op_info(global_segment, "file i/o done");
60336031

0 commit comments

Comments
 (0)