Bug #74004 ERROR 1025 (HY000): Error on rename of x to y (errno: -1 - Unknown error -1)
Submitted: 22 Sep 2014 3:28 Modified: 10 May 2017 7:31
Reporter: Roel Van de Paar Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: DDL Severity:S3 (Non-critical)
Version:5.6.20, 5.6.22, 5.7.6 OS:Any
Assigned to: CPU Architecture:Any

[22 Sep 2014 3:28] Roel Van de Paar
Description:
mysql> ALTER TABLE t1 RENAME test2.t1;
ERROR 1025 (HY000): Error on rename of './test/t1' to './test2/t1' (errno: -1 - Unknown error -1)

Error log:
2014-09-22 23:17:42 7ff6d4aaf700  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
2014-09-22 23:17:42 28481 [ERROR] InnoDB: File ./test/t1.ibd: 'rename' returned OS error 71.

How to repeat:
DROP DATABASE test;DROP DATABASE test2;CREATE DATABASE test;USE test;
CREATE TABLE t1 (c1 INT);
ALTER TABLE t1 RENAME test2.t1;
[22 Sep 2014 8:15] MySQL Verification Team
Hello Roel,

Thank you for the bug report and test case.

Thanks,
Umesh
[22 Sep 2014 8:24] MySQL Verification Team
// 5.6.20

[ushastry@cluster-repo mysql-advanced-5.6.20]$ bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 723605
Server version: 5.6.20-enterprise-commercial-advanced-log MySQL Enterprise Server - Advanced Edition (Commercial)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql> create database test2;
Query OK, 1 row affected (0.00 sec)

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> DROP DATABASE test;DROP DATABASE test2;CREATE DATABASE test;USE test;
Query OK, 3 rows affected (0.03 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 1 row affected (0.01 sec)

Database changed
mysql> CREATE TABLE t1 (c1 INT);
Query OK, 0 rows affected (1.09 sec)

mysql> ALTER TABLE t1 RENAME test2.t1;
ERROR 1025 (HY000): Error on rename of './test/t1' to './test2/t1' (errno: -1 - Unknown error 18446744073709551615)

// error log

2014-09-24 03:10:58 7fc564101700  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
2014-09-24 03:10:58 16387 [ERROR] InnoDB: File ./test/t1.ibd: 'rename' returned OS error 71.
[22 Sep 2014 8:25] MySQL Verification Team
// 5.6.22

[root@cluster-repo mysql-advanced-5.6.22]# bin/mysql -u root -p -S /tmp/740004/socket.sock
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.22-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like '%version%';
+-------------------------+---------------------------------------------------------+
| Variable_name           | Value                                                   |
+-------------------------+---------------------------------------------------------+
| innodb_version          | 5.6.22                                                  |
| protocol_version        | 10                                                      |
| slave_type_conversions  |                                                         |
| version                 | 5.6.22-enterprise-commercial-advanced                   |
| version_comment         | MySQL Enterprise Server - Advanced Edition (Commercial) |
| version_compile_machine | x86_64                                                  |
| version_compile_os      | Linux                                                   |
+-------------------------+---------------------------------------------------------+
7 rows in set (0.01 sec)

mysql> DROP DATABASE test;DROP DATABASE test2;CREATE DATABASE test;USE test;
Query OK, 0 rows affected (0.00 sec)

ERROR 1008 (HY000): Can't drop database 'test2'; database doesn't exist
Query OK, 1 row affected (0.00 sec)

Database changed
mysql> CREATE TABLE t1 (c1 INT);
Query OK, 0 rows affected (0.03 sec)

mysql> ALTER TABLE t1 RENAME test2.t1;
ERROR 1025 (HY000): Error on rename of './test/t1' to './test2/t1' (errno: -1 - Unknown error 18446744073709551615)

// error log

2014-09-24 04:50:53 7f7b3ec65700  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
2014-09-24 04:50:53 27145 [ERROR] InnoDB: File ./test/t1.ibd: 'rename' returned OS error 71.
[22 Sep 2014 8:49] MySQL Verification Team
// 5.7.6

mysql> show variables like '%version%';
+-------------------------+---------------------------------------------------------+
| Variable_name           | Value                                                   |
+-------------------------+---------------------------------------------------------+
| innodb_version          | 5.7.6                                                   |
| protocol_version        | 10                                                      |
| slave_type_conversions  |                                                         |
| version                 | 5.7.6-m16-enterprise-commercial-advanced                |
| version_comment         | MySQL Enterprise Server - Advanced Edition (Commercial) |
| version_compile_machine | x86_64                                                  |
| version_compile_os      | Linux                                                   |
+-------------------------+---------------------------------------------------------+
7 rows in set (0.01 sec)

mysql> DROP DATABASE test;DROP DATABASE test2;CREATE DATABASE test;USE test;
ERROR 1008 (HY000): Can't drop database 'test'; database doesn't exist
ERROR 1008 (HY000): Can't drop database 'test2'; database doesn't exist
Query OK, 1 row affected (0.00 sec)

Database changed
mysql> CREATE TABLE t1 (c1 INT);
Query OK, 0 rows affected (0.03 sec)

mysql> ALTER TABLE t1 RENAME test2.t1;
ERROR 1025 (HY000): Error on rename of './test/t1' to './test2/t1' (errno: -1 - Unknown error 18446744073709551615)
mysql>

// error log

2014-09-23T23:36:58.932165Z 2 [ERROR] InnoDB: Operating system error number 2 in a file operation.
2014-09-23T23:36:58.932197Z 2 [ERROR] InnoDB: The error means the system cannot find the path specified.
2014-09-23T23:36:58.932207Z 2 [ERROR] InnoDB: File ./test/t1.ibd: 'rename' returned OS error 71.
[5 Nov 2015 6:11] Karthik Kamath Koteshwar
This issue has been fixed with the new DD which is pushed to 5.8.
[10 May 2017 6:28] MySQL Verification Team
Bug #86253 marked as duplicate of this one
[10 May 2017 7:31] Roel Van de Paar
See also bug 86253
See also bug 84000