mariadb/mysql-test/suite/binlog_in_engine/innodb_log_check.result
Kristian Nielsen e4b0e591a8 Binlog-in-engine: MDEV-38462: Large binlog write can overwrite head of InnoDB redo log
The code for binlogging out-of-band data was missing an appropriate call to
log_free_check(). This call is needed to throttle write activity and wait
for an InnoDB checkpoint, when the redo log is too small (or otherwise has
insufficient space available) to accomodate the write activity.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2026-01-16 23:05:04 +01:00

16 lines
656 B
Text

*** Test that binlogging throttles large writes, waiting for InnoDB checkpoints as needed
CREATE TABLE t1 (a INT, b INT, c LONGTEXT, PRIMARY KEY(a, b)) ENGINE=InnoDB;
SET @old_max_packet= @@GLOBAL.max_allowed_packet;
SET GLOBAL max_allowed_packet=128*1024*1024;
SET @old_max_binlog= @@GLOBAL.max_binlog_size;
SET GLOBAL max_binlog_size= 16*1024*1024;
connect con1,localhost,root;
INSERT INTO t1 VALUES (1, 1, REPEAT('x', 64*1024*1024));
disconnect con1;
connection default;
SELECT a, b, LENGTH(c) FROM t1 ORDER BY a, b;
a b LENGTH(c)
1 1 67108864
SET GLOBAL max_allowed_packet= @old_max_packet;
SET GLOBAL max_binlog_size= @old_max_binlog;
DROP TABLE t1;