Bug #54093 The size limitation of a row event is not controlled by max_packet_size
Submitted: 31 May 2010 3:16 Modified: 22 Nov 2018 13:28
Reporter: Daogang Qu Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.5 OS:Any
Assigned to: MySQL Verification Team CPU Architecture:Any

[31 May 2010 3:16] Daogang Qu
Description:
The size limitation of a row event is not controlled by
max_packet_size when writing it into binlog in RBR.

How to repeat:
source include/master-slave.inc;
source include/have_binlog_format_row.inc;

CREATE TABLE t1 (a int not null auto_increment, data1 LONGBLOB,
                 data2 LONGBLOB, PRIMARY KEY(a));

INSERT INTO t1 (data1, data2) VALUES (repeat('a',1000), repeat('a', 1000));

SELECT LENGTH(data1), LENGTH(data2) FROM t1 WHERE a = 1;

drop table t1;

sync_slave_with_master;

Starting master and slave with the following options' value:
--binlog-row-event-max-size=2048 --max_allowed_packet=1024 --net_buffer_length=1024

Suggested fix:
Check the size of a row event by max_packet_size when writing it into binlog in RBR.
[22 Nov 2018 13:28] MySQL Verification Team
Hi,

The binlog row event is not limited by the max_packet_size but it shouldn't be, it's limited by binlog-row-event-max-size, so this is not a bug.