mirror of
https://github.com/MariaDB/server.git
synced 2026-02-12 05:38:42 +01:00
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>
16 lines
656 B
Text
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;
|