Bug #76379 | binlog_error_action doesn't handle some failures during binlog rotation | ||
---|---|---|---|
Submitted: | 18 Mar 2015 18:27 | Modified: | 7 Sep 2015 17:21 |
Reporter: | Santosh Praneeth Banda | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S2 (Serious) |
Version: | 5.6.23, 5.7.6 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[18 Mar 2015 18:27]
Santosh Praneeth Banda
[31 Mar 2015 11:37]
MySQL Verification Team
Hello Santosh, Thank you for the report. Observed similar behavior with 5.6.23 source build. Thanks, Umesh
[31 Mar 2015 11:37]
MySQL Verification Team
// Build [umshastr@hod03]/export/umesh/server/source: md5sum mysql-5.6.23.tar.gz 60344f26eae136a267a0277407926e79 mysql-5.6.23.tar.gz // [umshastr@hod03]/export/umesh/server/source/mysql-5.6.23: cmake -DCMAKE_INSTALL_PREFIX=/export/umesh/server/source/mysql-5.6.23 -DWITH_DEBUG=1 [umshastr@hod03]/export/umesh/server/source/mysql-5.6.23: make [umshastr@hod03]/export/umesh/server/source/mysql-5.6.23: make install [umshastr@hod03]/export/umesh/server/source/mysql-5.6.23: cd mysql-test // Mtr [umshastr@hod03]/export/umesh/server/source/mysql-5.6.23/mysql-test: ./mtr --mysqld="--log_bin=master-bin" --mysqld="--log_error=/export/umesh/server/source/mysql-5.6.23/mysql-test/var/mysqld.1/data/log.err" --start Logging: ./mtr --mysqld=--log_bin=master-bin --mysqld=--log_error=/export/umesh/server/source/mysql-5.6.23/mysql-test/var/mysqld.1/data/log.err --start 2015-03-31 13:30:21 10088 [Note] Plugin 'FEDERATED' is disabled. 2015-03-31 13:30:21 10088 [Note] Binlog end 2015-03-31 13:30:21 10088 [Note] Shutting down plugin 'CSV' 2015-03-31 13:30:21 10088 [Note] Shutting down plugin 'MyISAM' MySQL Version 5.6.23 Checking supported features... - SSL connections supported - binaries are debug compiled Using suites: main,sys_vars,binlog,federated,rpl,innodb,innodb_fts,innodb_zip,perfschema,funcs_1,opt_trace,parts,auth_sec Collecting tests... Checking leftover processes... - found old pid 9486 in 'mysqld.1.pid', killing it... process did not exist! Removing old var directory... Creating var directory '/export/umesh/server/source/mysql-5.6.23/mysql-test/var'... Installing system database... ============================================================================== TEST RESULT TIME (ms) or COMMENT -------------------------------------------------------------------------- worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009 worker[1] Started [mysqld.1 - pid: 10113, winpid: 10113] worker[1] Using config for test main.1st worker[1] Port and socket path for server(s): worker[1] mysqld.1 13000 /export/umesh/server/source/mysql-5.6.23/mysql-test/var/tmp/mysqld.1.sock worker[1] Waiting for server(s) to exit... // Set parameters [umshastr@hod03]/export/umesh/server/source/mysql-5.6.23: bin/mysql -uroot -p -S/export/umesh/server/source/mysql-5.6.23/mysql-test/var/tmp/mysqld.1.sock Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.23-debug-log Source distribution Copyright (c) 2000, 2015, 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> set global binlog_error_action=ABORT_SERVER; set global debug='+d,error_unique_log_filename'; set global max_binlog_size=1024*1024; Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) mysql> // mysqlslap 500000 --concurrency=10 --auto-generate-sql-load-type=write --auto-generate-sql-add-autoincrement --csv=a --user=root bin/mysqlslap: Cannot run query INSERT INTO t1 VALUES (NULL,1137990260,'pvYr3YntZ2DoGrwWfL91bW9Epw8iO6vDuR4xrkqOe3Dum1PPEQQpwRvmO3Kg2FtobqlQQRj4Woq8hFZvhrkWBX8bRSFLc09BiuT0L44jsvrZ2GKczwyAS6dvakGAlP') ERROR : Can't generate a unique log-filename master-bin.(1-999) [umshastr@hod03]/export/umesh/server/source/mysql-5.6.23: bin/mysqlslap --socket=/export/umesh/server/source/mysql-5.6.23/mysql-test/var/tmp/mysqld.1.sock --auto-generate-sql --number-of-queries=500000 --concurrency=10 --auto-generate-sql-load-type=write --auto-generate-sql-add-autoincrement --csv=a --user=root bin/mysqlslap: Cannot drop database 'mysqlslap' ERROR : Can't generate a unique log-filename master-bin.(1-999) [umshastr@hod03]/export/umesh/server/source/mysql-5.6.23: bin/mysqlslap --socket=/export/umesh/server/source/mysql-5.6.23/mysql-test/var/tmp/mysqld.1.sock --auto-generate-sql --number-of-queries=500000 --concurrency=10 --auto-generate-sql-load-type=write --auto-generate-sql-add-autoincrement --csv=a --user=root bin/mysqlslap: Cannot drop database 'mysqlslap' ERROR : Can't generate a unique log-filename master-bin.(1-999) // Check error log 2015-03-31 14:30:28 10114 [Note] Server hostname (bind-address): '*'; port: 13000 2015-03-31 14:30:28 10114 [Note] IPv6 is available. 2015-03-31 14:30:28 10114 [Note] - '::' resolves to '::'; 2015-03-31 14:30:28 10114 [Note] Server socket created on IP: '::'. 2015-03-31 14:30:28 10114 [Note] Event Scheduler: Loaded 0 events 2015-03-31 14:30:28 10114 [Note] /export/umesh/server/source/mysql-5.6.23/sql/mysqld: ready for connections. Version: '5.6.23-debug-log' socket: '/export/umesh/server/source/mysql-5.6.23/mysql-test/var/tmp/mysqld.1.sock' port: 13000 Source distribution 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:00 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:00 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:02 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:02 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31 14:31:04 10114 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31 14:31:04 10114 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the
[31 Mar 2015 12:40]
MySQL Verification Team
// 5.7.6 // Build [umshastr@hod03]/export/umesh/server/source: md5sum mysql-5.7.6-m16.tar.gz 4f30560e6abf96e7828604bb205d3556 mysql-5.7.6-m16.tar.gz // [umshastr@hod03]/export/umesh/server/source/mysql-5.7.6-m16: cmake -DCMAKE_INSTALL_PREFIX=/export/umesh/server/source/mysql-5.7.6-m16 -DWITH_DEBUG=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost [umshastr@hod03]/export/umesh/server/source/mysql-5.7.6-m16: make [umshastr@hod03]/export/umesh/server/source/mysql-5.7.6-m16: make install // Mtr [umshastr@hod03]/export/umesh/server/source/mysql-5.7.6-m16: cd mysql-test/ [umshastr@hod03]/export/umesh/server/source/mysql-5.7.6-m16/mysql-test: ./mtr --mysqld="--log_bin=master-bin" --mysqld="--log_error=/export/umesh/server/source/mysql-5.7.6-m16/mysql-test/var/mysqld.1/data/log.err" --start Logging: ./mtr --mysqld=--log_bin=master-bin --mysqld=--log_error=/export/umesh/server/source/mysql-5.7.6-m16/mysql-test/var/mysqld.1/data/log.err --start MySQL Version 5.7.6 Checking supported features... - SSL connections supported - binaries are debug compiled Using suites: main,sys_vars,binlog,federated,gis,rpl,innodb,innodb_gis,innodb_fts,innodb_zip,innodb_undo,perfschema,funcs_1,opt_trace,parts,auth_sec,query_rewrite_plugins,gcol Collecting tests... Removing old var directory... Creating var directory '/export/umesh/server/source/mysql-5.7.6-m16/mysql-test/var'... Installing system database... ============================================================================== TEST RESULT TIME (ms) or COMMENT -------------------------------------------------------------------------- worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009 worker[1] Started [mysqld.1 - pid: 28720, winpid: 28720] worker[1] Using config for test main.1st worker[1] Port and socket path for server(s): worker[1] mysqld.1 13000 /export/umesh/server/source/mysql-5.7.6-m16/mysql-test/var/tmp/mysqld.1.sock worker[1] Waiting for server(s) to exit... // Set parameters [umshastr@hod03]/export/umesh/server/source/mysql-5.7.6-m16: bin/mysql -uroot -p -S/export/umesh/server/source/mysql-5.7.6-m16/mysql-test/var/tmp/mysqld.1.sock Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.6-m16-debug-log Source distribution Copyright (c) 2000, 2015, 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> set global binlog_error_action=ABORT_SERVER; set global debug='+d,error_unique_log_filename'; set global max_binlog_size=1024*1024; Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) mysql> // mysqlslap [umshastr@hod03]/export/umesh/server/source/mysql-5.7.6-m16: bin/mysqlslap --socket=/export/umesh/server/source/mysql-5.7.6-m16/mysql-test/var/tmp/mysqld.1.sock --auto-generate-sql --number-of-queries=500000 --concurrency=10 --auto-generate-sql-load-type=write --auto-generate-sql-add-autoincrement --csv=a --user=root bin/mysqlslap: Cannot run query INSERT INTO t1 VALUES (NULL,1665728802,'8qB5MAR1caTvNFXB00HKShGa1uToGCMP2ZMHjpABFg6fnTioTz8pZGNQAkEJwckr9y0kfAvvq1QWM8IkzIZOaprdPxwMaY5bW5C977wy1MKNMe7EwZeWET7fRv1tRy') ERROR : Can't generate a unique log-filename master-bin.(1-999) [umshastr@hod03]/export/umesh/server/source/mysql-5.7.6-m16: bin/mysqlslap --socket=/export/umesh/server/source/mysql-5.7.6-m16/mysql-test/var/tmp/mysqld.1.sock --auto-generate-sql --number-of-queries=500000 --concurrency=10 --auto-generate-sql-load-type=write --auto-generate-sql-add-autoincrement --csv=a --user=root bin/mysqlslap: Cannot drop database 'mysqlslap' ERROR : Can't generate a unique log-filename master-bin.(1-999) // Check error log 2015-03-31T12:34:24.153624Z 0 [Note] /export/umesh/server/source/mysql-5.7.6-m16/sql/mysqld: ready for connections. Version: '5.7.6-m16-debug-log' socket: '/export/umesh/server/source/mysql-5.7.6-m16/mysql-test/var/tmp/mysqld.1.sock' port: 13000 Source distribution 2015-03-31T12:37:09.220659Z 11 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31T12:37:09.220752Z 11 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31T12:37:09.221411Z 3 [Note] Aborted connection 3 to db: 'mysqlslap' user: 'root' host: 'localhost' (Got an error reading communication packets) 2015-03-31T12:37:09.221425Z 11 [Note] Aborted connection 11 to db: 'mysqlslap' user: 'root' host: 'localhost' (Got an error reading communication packets) 2015-03-31T12:37:09.221949Z 9 [Note] Aborted connection 9 to db: 'mysqlslap' user: 'root' host: 'localhost' (Got an error writing communication packets) 2015-03-31T12:37:09.221961Z 8 [Note] Aborted connection 8 to db: 'mysqlslap' user: 'root' host: 'localhost' (Got an error writing communication packets) 2015-03-31T12:37:09.222477Z 12 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31T12:37:09.222498Z 12 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31T12:37:09.222624Z 12 [Note] Aborted connection 12 to db: 'mysqlslap' user: 'root' host: 'localhost' (Can't generate a unique log-filename master-bin.(1-999) ) 2015-03-31T12:37:09.222700Z 5 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31T12:37:09.222725Z 5 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31T12:37:09.222990Z 5 [Note] Aborted connection 5 to db: 'mysqlslap' user: 'root' host: 'localhost' (Can't generate a unique log-filename master-bin.(1-999) ) 2015-03-31T12:37:09.223673Z 7 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31T12:37:09.223681Z 13 [Note] Aborted connection 13 to db: 'mysqlslap' user: 'root' host: 'localhost' (Got an error writing communication packets) 2015-03-31T12:37:09.223693Z 10 [Note] Aborted connection 10 to db: 'mysqlslap' user: 'root' host: 'localhost' (Got an error writing communication packets) 2015-03-31T12:37:09.223703Z 7 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31T12:37:09.223973Z 4 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31T12:37:09.224044Z 4 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31T12:37:09.224220Z 7 [Note] Aborted connection 7 to db: 'mysqlslap' user: 'root' host: 'localhost' (Can't generate a unique log-filename master-bin.(1-999) ) 2015-03-31T12:37:09.224340Z 4 [Note] Aborted connection 4 to db: 'mysqlslap' user: 'root' host: 'localhost' (Can't generate a unique log-filename master-bin.(1-999) ) 2015-03-31T12:37:11.743394Z 14 [ERROR] Can't generate a unique log-filename master-bin.(1-999) 2015-03-31T12:37:11.743424Z 14 [ERROR] The server was unable to create a new log file. An incident event has been written to the binary log which will stop the slaves. 2015-03-31T12:37:11.743689Z 14 [Note] Aborted connection 14 to db: 'unconnected' user: 'root' host: 'localhost' (Got an error reading communication packets)
[7 Sep 2015 17:22]
Jon Stephens
Documented fix in the MySQL 5.6.27, 5.7.9, and 5.8.0 changelogs as follows: The action specified for binlog_error_action was not alwys honored correctly when a hardware failure occurred during log rotation. Closed.