Bug #69907 | Error(1030): Got error -1 from storage engine | ||
---|---|---|---|
Submitted: | 2 Aug 2013 8:56 | Modified: | 20 Dec 2013 19:24 |
Reporter: | Shahriyar Rzayev | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S1 (Critical) |
Version: | 5.6.12, 5.6.13 | OS: | Linux (Centos 6.4) |
Assigned to: | CPU Architecture: | Any |
[2 Aug 2013 8:56]
Shahriyar Rzayev
[2 Aug 2013 9:39]
Valeriy Kravchuk
Probably you can not reset slave as in forced recovery mode you can not modify data in InnoDB tables. Now, to check why any tables may be involved, please, send the output of: show variables like '%info%'; from this server. I wonder what are the values for master_info_repository and/or relay_log_info_repository in case of both these bugs. I suspect TABLE...
[2 Aug 2013 10:32]
Shahriyar Rzayev
mysql> show variables like '%info%'; +---------------------------+----------------+ | Variable_name | Value | +---------------------------+----------------+ | master_info_repository | TABLE | | relay_log_info_file | relay-log.info | | relay_log_info_repository | TABLE | | sync_master_info | 10000 | | sync_relay_log_info | 10000 | +---------------------------+----------------+ 5 rows in set (0.00 sec) And please provide information if exists about "-1" error from storage engine.
[8 Aug 2013 7:36]
Shahriyar Rzayev
As i stated when i submit this report it is primarily related to my previous BUG report: http://bugs.mysql.com/bug.php?id=69898 It is already VERIFIED as Critical. And i want to inform you. You can repeat all scenario i have uploaded all files and informations for repeating this crash. I separate this BUG report because of logical difference. After crash i just want to use innodb_force_recovery. So this bug report is related to recovery stage with nowhere documented interesting error: Error(1030): Got error -1 from storage engine Thanks.
[8 Aug 2013 7:53]
MySQL Verification Team
related problem: http://bugs.mysql.com/bug.php?id=69892
[8 Aug 2013 8:41]
MySQL Verification Team
Hello Shahriyar, Thank you for the bug report. Verified as described. imho - Bug #69898 and #69907 are inter related but not the same.. one leads to crash issue, in attempt to recover it ended up with "ERROR 1030 (HY000): Got error -1 from storage engine".. Thanks, Umesh
[8 Aug 2013 8:43]
MySQL Verification Team
Same steps as Shane explained in Bug #69898 ------------------------------------------------ bin/mysqld_safe --no-defaults --server_id=1 --log_bin --binlog_format=row --log_slave_updates=1 --read_only=1 --gtid-mode=on --enforce-gtid-consistency=true --master-info-repository=TABLE --relay-log-info-repository=TABLE --slave-parallel-workers=2 --basedir=/home/ushastry/mybuilds/mysql-5.6.13/ --datadir=/tmp/69898 --user=mysql & Run: ----- stop slave; set session autocommit=0; change master to master_host='127.0.0.1', master_port=3306, master_user='root', master_password='', MASTER_AUTO_POSITION=1; Restart server and repeat the above again... i.e Run: ----- stop slave; set session autocommit=0; change master to master_host='127.0.0.1', master_port=3306, master_user='root', master_password='', MASTER_AUTO_POSITION=1; Restart server and repeat the above again but with extra parameter --innodb_force_recovery=3 bin/mysqld_safe --no-defaults --server_id=1 --log_bin --binlog_format=row --log_slave_updates=1 --read_only=1 --gtid-mode=on --enforce-gtid-consistency=true --master-info-repository=TABLE --relay-log-info-repository=TABLE --slave-parallel-workers=2 --basedir=/home/ushastry/mybuilds/mysql-5.6.13/ --datadir=/tmp/69898 --user=mysql --innodb_force_recovery=3 & Run: ----- stop slave; set session autocommit=0; change master to master_host='127.0.0.1', master_port=3306, master_user='root', master_password='', MASTER_AUTO_POSITION=1; After the last "change master" - you would notice "ERROR 1030 (HY000): Got error -1 from storage engine"
[8 Aug 2013 8:45]
Shahriyar Rzayev
Yes i agree that there are not same, and thats why i separate this BUGs and reported sequentally. Thanks for verifing my effort. Any suggestions? how i can start my server at this moment?
[8 Aug 2013 13:46]
Marko Mäkelä
I would vote this Bug#69907 and Bug#69914 to be duplicates of Bug#69898. See my analysis and explanation in Bug#69898. The implementation of CHANGE MASTER is breaking the rules. I posted a preliminary patch in Bug#69898 that would change InnoDB recovery in a way that might allow crash recovery from this breakage. If we included that patch, it would have to be controlled by some configuration option.
[20 Dec 2013 19:24]
Daniel Price
Fixed as of 5.6.16, 5.7.4, and here's the changelog entry: Attempting to reset a replication slave while "innodb_force_recovery" is greater than "0" would return a cryptic error message: "ERROR(1030) HY000: Got error -1 from storage engine". The error message has been changed to: "ERROR HY000: Operation not allowed when innodb_force_recovery > 0". Replication options such as "--relay-log-info-repository=TABLE" and "--master-info-repository=TABLE" store information in tables in "InnoDB". When "innodb_force_recovery" is greater than 0, replication tables cannot be updated which may cause replication administration commands to fail. Thank you for the bug report.
[3 Feb 2014 11:52]
Laurynas Biveinis
5.6$ bzr log -r 5706 ------------------------------------------------------------ revno: 5706 committer: Aditya A <aditya.a@oracle.com> branch nick: mysql-5.6 timestamp: Fri 2013-12-20 11:22:30 +0530 message: Bug#17287443 ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE PROBLEM ------- When we try to do DML operations in innodb force recovery mode.we get a cryptic error message. ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE FIX --- Introduced a new error ER_INNODB_FORCE_RECOVERY which will print proper error message. [Approved by Kevin and Krunal #rb4095 and rb#4137]