Bug #88262 | ERROR 1598 (HY000): Binary logging not possible + abort | ||
---|---|---|---|
Submitted: | 28 Oct 2017 0:17 | Modified: | 19 Dec 2017 12:08 |
Reporter: | Roel Van de Paar | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S1 (Critical) |
Version: | 8.0.3 RC | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[28 Oct 2017 0:17]
Roel Van de Paar
[28 Oct 2017 6:05]
MySQL Verification Team
Am I missing something here? mysql> RESET MASTER TO 2147483647; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TO 2147483647' at line 1 If you are manually renaming the binlog files so mysqld thinks you've run out of numbers, then the error before crash is expected and self-explanatory. Please confirm.
[30 Oct 2017 3:14]
Roel Van de Paar
No manual renaming, only cli input. My output differs too; Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 8.0.3-rc-debug-log MySQL Community Server (GPL) Copyright (c) 2000, 2017, 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. 8.0.3>RESET MASTER TO 2147483647; Query OK, 0 rows affected (0.06 sec) 8.0.3>FLUSH BINARY LOGS; ERROR 1598 (HY000): Binary logging not possible. Message: Either disk is full or file system is read only while rotating the binlog. Aborting the server. 8.0.3>SELECT 1; # Shows server is gone ERROR 2013 (HY000): Lost connection to MySQL server during query
[30 Oct 2017 3:16]
Roel Van de Paar
mysqld started with no special options; mysqld --no-defaults --core-file --basedir=... --tmpdir=... --datadir=... --socket=... --port=... --log-error=... 2>&1 &
[30 Oct 2017 3:17]
Roel Van de Paar
In case it matters; -bash-4.2$ cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) -bash-4.2$ free -g total used free shared buff/cache available Mem: 31 9 5 15 16 5 Swap: 31 5 25
[30 Oct 2017 4:35]
MySQL Verification Team
Thanks! [NOTE]mysqld-debug.exe: Version: '8.0.4-rc-debug-log' (Built on 2017/10/14) [Warning] [004438] Next log extension: 2147483647. Remaining log filename extensions: 0. Please consider archiving some logs. [Warning] [004438] Next log extension: 2147483647. Remaining log filename extensions: 0. Please consider archiving some logs. [ERROR] [004436] Log filename extension number exhausted: 2147483647. Please fix this by archiving old logs and updating the index files. [ERROR] [001098] Can't generate a unique log-filename i7-bin.(1-999) mysqld-debug.exe!my_sigabrt_handler()[my_thr_init.cc:418] ucrtbased.dll!raise() ucrtbased.dll!abort() mysqld-debug.exe!exec_binlog_error_action_abort()[binlog.cc:2206] mysqld-debug.exe!MYSQL_BIN_LOG::new_file_impl()[binlog.cc:7222] mysqld-debug.exe!MYSQL_BIN_LOG::new_file_without_locking()[binlog.cc:7017] mysqld-debug.exe!MYSQL_BIN_LOG::rotate()[binlog.cc:7704] mysqld-debug.exe!MYSQL_BIN_LOG::rotate_and_purge()[binlog.cc:7770] mysqld-debug.exe!reload_acl_and_cache()[sql_reload.cc:199] mysqld-debug.exe!mysql_execute_command()[sql_parse.cc:4061] mysqld-debug.exe!mysql_parse()[sql_parse.cc:5407] mysqld-debug.exe!dispatch_command()[sql_parse.cc:1708] mysqld-debug.exe!do_command()[sql_parse.cc:1292] mysqld-debug.exe!handle_connection()[connection_handler_per_thread.cc:328] mysqld-debug.exe!pfs_spawn_thread()[pfs.cc:2989] mysqld-debug.exe!win_thread_start()[my_thread.cc:42]
[19 Dec 2017 12:08]
Margaret Fisher
Posted by developer: Changelog entry added for MySQl 8.0.5: The error message issued for a server stop while rotating the binary log did not state the correct cause for the issue. The error message has been enhanced to include the actual error causing the server stop as part of the message. A new error ER_OOM_SAVE_GTIDS has also been added for the situation where an out-of-memory error occured while saving the set of GTIDs from the last binary log into the mysql.gtid_executed table.