Details
-
Bug
-
Status: Confirmed (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL), 10.11, 11.0(EOL), 11.1(EOL), 11.2(EOL), 11.3(EOL), 11.4
Description
In some cases (see MDEV-19449 or upstream https://bugs.mysql.com/bug.php?id=86253 for examples) InnoDB returns error 168 to the user with a generic error message that is not useful at all, while in error log it produces way more specific messages pointing out the root cause. Consider this test case from upstream bug mentioned above:
MariaDB [test]> drop table t1;
|
Query OK, 0 rows affected (0.416 sec)
|
|
MariaDB [test]> CREATE TABLE t1(c1 INT KEY,old1 DOUBLE,new1 DOUBLE,old2 DOUBLE,new2 DOUBLE);
|
Query OK, 0 rows affected (2.031 sec)
|
|
MariaDB [test]> RENAME TABLE t1 TO doesnotexist.t1;
|
ERROR 1025 (HY000): Error on rename of '.\test\t1' to '.\doesnotexist\t1' (errno: 168 "Unknown (generic) error from engine")
|
The error says nothing to the user about the reason of the problem. In the error log we see:
2019-06-24 19:08:58 9 [ERROR] InnoDB: Operating system error number 3 in a file operation.
|
2019-06-24 19:08:58 9 [ERROR] InnoDB: The error means the system cannot find the path specified.
|
2019-06-24 19:08:58 9 [ERROR] InnoDB: File .\test\t1.ibd: 'rename' returned OS error 203.
|
that is way more specific. I think that returning a generic "Unknown" error when the reason for the error is well known is wrong.
Attachments
Issue Links
- is duplicated by
-
MDEV-17464 Unfortunate "Unknown error" error message and "Operating system error number 2" log record upon renaming to non-existing database
- Open
-
MDEV-28831 Improve and unify error messages on ALTER TABLE ... RENAME to unknown db
- Closed
- relates to
-
MDEV-20711 Unexpected 'Unknown .. error from engine' with SELECT NULL UNION SELECT NULL
- Closed
-
MDEV-27952 Improve error log messages with descriptive text already present in the code
- Stalled