Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.11.19, 11.4.13, 11.8.9, 12.3.3, 13.0.1, 13.0.2
-
None
-
Can result in unexpected behaviour
-
Fixed client error message sent when adding an undo log page fails due to file space running out.
Description
When trx_undo_report_row_operation() fails to add an undo record due to running out of file space, it prints a garbage client error message like:
ERROR 14 (HY000): Can't change size of file (Errcode: 131184448 "Unknown error 131184448")
This can be simulated after applying the fix (not yet merged at time of writing) to MDEV-40239 and setting the d,ib_err_ins_undo_page_add_failure bebug flag (see that ticket for reproduction scenario).
The cause is the code for printing that message:
ib_errf(trx->mysql_thd, IB_LOG_LEVEL_ERROR,
|
DB_OUT_OF_FILE_SPACE,
|
//ER_INNODB_UNDO_LOG_FULL, |
"No more space left over in %s tablespace for allocating UNDO" |
" log pages. Please add new data file to the tablespace or" |
" check if filesystem is full or enable auto-extension for" |
" the tablespace", |
undo->rseg->space == fil_system.sys_space
|
? "system" : is_temp ? "temporary" : "undo"); |
The correct value is commented out: ER_INNODB_UNDO_LOG_FULL should be passed as the code parameter to ib_errf. The erroneous code was merged from MySQL 5.7 and has since been fixed there.
Attachments
Issue Links
- is blocked by
-
MDEV-40239 Assertion `memcmp(field, field_ref_zero, 7)' failed and Assertion `uint16_t(roll_ptr) >= 38U + (6 + (2 * 6U))' failed.
-
- Closed
-