mariadb/mysql-test/suite
Thirunarayanan Balathandayuthapani 4cca79cf80 MDEV-36017 Alter table aborts when temporary directory is full
Problem:
=======
- In 10.11, During Copy algorithm, InnoDB does use bulk insert
for row by row insert operation. When temporary directory
ran out of memory, row_mysql_handle_errors() fails to handle
DB_TEMP_FILE_WRITE_FAIL.

- During inplace algorithm, concurrent DML fails to write
the log operation into the temporary file. InnoDB fail to
mark the error for the online log.

- ddl_log_write() releases the global ddl lock prematurely before
release the log memory entry

Fix:
===
row_mysql_handle_errors(): Rollback the transaction when
InnoDB encounters DB_TEMP_FILE_WRITE_FAIL

convert_error_code_to_mysql(): Report an aborted transaction
when InnoDB encounters DB_TEMP_FILE_WRITE_FAIL during
alter table algorithm=copy or innodb bulk insert operation

row_log_online_op(): Mark the error in online log when
InnoDB ran out of temporary space

fil_space_extend_must_retry(): Mark the os_has_said_disk_full
as true if os_file_set_size() fails

btr_cur_pessimistic_update(): Return error code when
btr_cur_pessimistic_insert() fails

ddl_log_write(): Release the global ddl lock after releasing
the log memory entry when error was encountered

btr_cur_optimistic_update(): Relax the assertion that
blob pointer can be null during rollback because InnoDB can
ran out of space while allocating the external page

ha_innobase::extra(): Rollback the transaction during DDL before
calling convert_error_code_to_mysql().

row_undo_mod_upd_exist_sec(): Remove the assertion which says
that InnoDB should fail to build index entry when rollbacking
an incomplete transaction after crash recovery. This scenario
can happen when InnoDB ran out of space.

row_upd_changes_ord_field_binary_func(): Relax the assertion to
make that externally stored field can be null when InnoDB ran out
of space.
2025-05-25 09:12:00 +05:30
..
archive Merge branch '10.6' into '10.11' 2025-04-16 03:34:40 +02:00
atomic Merge branch '10.6' into 10.11 2025-04-26 10:47:03 +02:00
binlog MDEV-35694: Mysqlbinlog --stop-position should warn if EOF not reached with --read-from-remote-server 2025-04-21 14:21:55 -06:00
binlog_encryption Merge 10.6 into 10.11 2025-03-27 08:01:47 +02:00
client
compat Merge branch '10.6' into 10.11 2025-01-30 11:55:13 +01:00
csv
encryption Merge 10.6 into 10.11 2025-03-27 08:01:47 +02:00
engines MDEV-29344: engines/iuds.insert_time cannot run with PS protocol (syntax error) 2025-03-17 18:11:51 +07:00
federated Merge branch '10.6' into '10.11' 2025-04-16 03:34:40 +02:00
funcs_1 MDEV-35810 fix test results 2025-01-14 14:01:28 +01:00
funcs_2 Merge 10.5 into 10.6 2025-03-26 17:09:57 +02:00
galera Merge 10.6 into 10.11 2025-05-21 07:36:35 +03:00
galera_3nodes Merge 10.6 into 10.11 2025-05-21 07:36:35 +03:00
galera_3nodes_sr galera mtr tests: synchronization between branches and editions 2025-04-02 04:50:11 +02:00
galera_sr Merge branch '10.6' into '10.11' 2025-04-02 06:33:39 +02:00
gcol Merge branch '10.6' into 10.11 2025-04-21 11:23:11 +02:00
handler Merge branch '10.5' into 10.6 2024-12-17 11:06:09 +11:00
heap Merge branch '10.6' into 10.11 2025-01-30 11:55:13 +01:00
innodb MDEV-36017 Alter table aborts when temporary directory is full 2025-05-25 09:12:00 +05:30
innodb_fts Merge 10.6 into 10.11 2025-03-28 10:55:40 +02:00
innodb_gis Merge 10.6 into 10.11 2025-03-27 08:01:47 +02:00
innodb_i_s
innodb_zip Merge branch '10.6' into 10.11 2025-01-30 11:55:13 +01:00
jp
json MDEV-35614: JSON_UNQUOTE doesn't work with emojis 2025-04-19 08:55:05 +10:00
large_tests
maria Merge 10.6 into 10.11 2025-01-08 12:51:26 +02:00
mariabackup MDEV-36437 mariabackup - confusing error message when running out of file handles with partitioned MyISAM 2025-03-31 17:57:35 +02:00
mtr/t Remove dates from all rdiff files 2025-01-05 16:40:11 +02:00
mtr2
multi_source MDEV-36238 Functional Tests for --master-info-file and --show-slave-auth-info 2025-03-18 18:17:02 -06:00
optimizer_unfixed_bugs
parts Merge 10.6 into 10.11 2025-03-27 08:01:47 +02:00
perfschema Merge 10.6 into 10.11 2025-02-10 14:45:18 +02:00
perfschema_stress
period Merge 10.6 into 10.11 2025-01-08 12:51:26 +02:00
plugins Merge branch '10.6' into 10.11 2025-04-21 11:23:11 +02:00
roles Merge branch '10.6' into 10.11 2025-01-30 11:55:13 +01:00
rpl MDEV-36663: Testcase Fixup 2025-05-13 12:27:41 +03:00
s3 Merge branch '10.6' into 10.11 2025-01-30 11:55:13 +01:00
sql_sequence MDEV-36032 Check whether a table can be a sequence when ALTERed with SEQUENCE=1 2025-04-29 16:28:01 +10:00
storage_engine
stress MDEV-34453 Trying to read 16384 bytes at 70368744161280 outside the bounds of the file: ./ibdata1 2024-09-20 20:26:43 +05:30
sys_vars Merge 10.6 into 10.11 2025-05-21 07:36:35 +03:00
sysschema
unit
vcol Merge branch '10.6' into 10.11 2025-01-30 11:55:13 +01:00
versioning Merge branch '10.6' into '10.11' 2025-04-02 06:33:39 +02:00
wsrep Merge branch '10.5' into '10.6' 2025-04-02 04:43:24 +02:00