Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10
-
None
Description
--source include/have_log_bin.inc
|
--source include/have_binlog_format_row.inc
|
--source include/have_innodb.inc
|
|
SET @cachesize.save= @@max_binlog_cache_size; |
|
CREATE TABLE t (f MEDIUMBLOB) ENGINE=InnoDB; |
INSERT INTO t VALUES (REPEAT('x',1200000)),(REPEAT('x',30000)); |
CREATE TRIGGER tr BEFORE INSERT ON t FOR EACH ROW BEGIN END; |
|
--connect (con1,localhost,root,,test)
|
|
SET GLOBAL MAX_BINLOG_CACHE_SIZE= 1048576; |
START TRANSACTION; |
--error ER_TRANS_CACHE_FULL
|
UPDATE t SET f = 'xx'; |
|
# Cleanup
|
--disconnect con1
|
--connection default
|
DROP TABLE t; |
SET GLOBAL MAX_BINLOG_CACHE_SIZE= @cachesize.save; |
10.3 dd8833bf |
mysqld: /data/src/10.3/sql/sql_error.cc:445: void Diagnostics_area::set_error_status(uint, const char*, const char*, const Sql_user_condition_identity&, const Sql_condition*): Assertion `! is_set() || m_can_overwrite_status' failed.
|
221003 22:00:48 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f543221c662 in __GI___assert_fail (assertion=0x5605fe562e40 "! is_set() || m_can_overwrite_status", file=0x5605fe5627e0 "/data/src/10.3/sql/sql_error.cc", line=445, function=0x5605fe562ea0 "void Diagnostics_area::set_error_status(uint, const char*, const char*, const Sql_user_condition_identity&, const Sql_condition*)") at assert.c:101
|
#8 0x00005605fc891a18 in Diagnostics_area::set_error_status (this=0x62a0000d17e8, sql_errno=1197, message=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again", sqlstate=0x5605fe5dd300 "HY000", ucid=..., error_condition=0x0) at /data/src/10.3/sql/sql_error.cc:445
|
#9 0x00005605fc83a2a9 in THD::raise_condition (this=0x62a0000cc208, sql_errno=1197, sqlstate=0x5605fe5dd300 "HY000", level=Sql_state_errno_level::WARN_LEVEL_ERROR, ucid=..., msg=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again") at /data/src/10.3/sql/sql_class.cc:1060
|
#10 0x00005605fc697614 in THD::raise_condition (this=0x62a0000cc208, sql_errno=1197, sqlstate=0x0, level=Sql_state_errno_level::WARN_LEVEL_ERROR, msg=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again") at /data/src/10.3/sql/sql_class.h:4409
|
#11 0x00005605fc67ef56 in my_message_sql (error=1197, str=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again", MyFlags=16) at /data/src/10.3/sql/mysqld.cc:3717
|
#12 0x00005605fe3a15a2 in my_message (error=1197, str=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again", MyFlags=0) at /data/src/10.3/mysys/my_error.c:196
|
#13 0x00005605fd35b41f in MYSQL_BIN_LOG::set_write_error (this=0x5605ffb80140 <mysql_bin_log>, thd=0x62a0000cc208, is_transactional=true) at /data/src/10.3/sql/log.cc:2169
|
#14 0x00005605fd3723be in MYSQL_BIN_LOG::flush_and_set_pending_rows_event (this=0x5605ffb80140 <mysql_bin_log>, thd=0x62a0000cc208, event=0x0, is_transactional=true) at /data/src/10.3/sql/log.cc:5933
|
#15 0x00005605fc8644ad in THD::binlog_flush_pending_rows_event (this=0x62a0000cc208, stmt_end=true, is_transactional=true) at /data/src/10.3/sql/sql_class.cc:7164
|
#16 0x00005605fc808d79 in THD::binlog_flush_pending_rows_event (this=0x62a0000cc208, stmt_end=true) at /data/src/10.3/sql/sql_class.h:2557
|
#17 0x00005605fc7ced8b in close_thread_tables (thd=0x62a0000cc208) at /data/src/10.3/sql/sql_base.cc:862
|
#18 0x00005605fc9580b6 in mysql_execute_command (thd=0x62a0000cc208) at /data/src/10.3/sql/sql_parse.cc:6161
|
#19 0x00005605fc963608 in mysql_parse (thd=0x62a0000cc208, rawbuf=0x62b00003f228 "UPDATE t SET f = 'xx'", length=21, parser_state=0x7f541b3939d0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7855
|
#20 0x00005605fc93ac56 in dispatch_command (command=COM_QUERY, thd=0x62a0000cc208, packet=0x629000140209 "UPDATE t SET f = 'xx'", packet_length=21, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1852
|
#21 0x00005605fc93780e in do_command (thd=0x62a0000cc208) at /data/src/10.3/sql/sql_parse.cc:1398
|
#22 0x00005605fccfa336 in do_handle_one_connection (connect=0x608000001228) at /data/src/10.3/sql/sql_connect.cc:1403
|
#23 0x00005605fccf9c32 in handle_one_connection (arg=0x608000001228) at /data/src/10.3/sql/sql_connect.cc:1308
|
#24 0x00005605fe2a529f in pfs_spawn_thread (arg=0x615000007608) at /data/src/10.3/storage/perfschema/pfs.cc:1869
|
#25 0x00007f54323c7ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#26 0x00007f54322e7aef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Reproducible on all 10.3+, including previous minor releases.
Non-debug build returns ER_TRANS_CACHE_FULL:
UPDATE t SET f = 'xx'; |
ERROR HY000: Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again |