-
Bug
-
Resolution: Done
-
Major
-
1.1.2.Final
-
None
RDS logs some extra DML binlog events even when the binlog is properly configured with row format. This was the purpose of the internal.database.history.ddl.filter property added in previous releases (see DBZ-469), but some users will find they need to set this with additional regular expressions since the current default does not cover all of the DDL expressions that RDS can write to the binlog.
The current default is:
DROP TEMPORARY TABLE IF EXISTS .+ /\\* generated by server \\*/ INSERT INTO mysql.rds_heartbeat2\\(.*\\) values \\(.*\\) ON DUPLICATE KEY UPDATE value = .* DELETE FROM mysql.rds_sysinfo.* INSERT INTO mysql.rds_sysinfo\\(.*\\) values \\(.*\\) DELETE FROM mysql.rds_monitor.* FLUSH RELAY LOGS.* flush relay logs.* SAVEPOINT .*
The following regex should be added to this default to capture additional `INSERT` statements:
INSERT INTO mysql.rds_monitor\(.*\) values \(.*\) ON DUPLICATE KEY UPDATE value = .* INSERT INTO mysql.rds_monitor\(.*\) values \(.*\)
so that the complete default is:
DROP TEMPORARY TABLE IF EXISTS .+ /\* generated by server \*/ INSERT INTO mysql.rds_heartbeat2\(.*\) values \(.*\) ON DUPLICATE KEY UPDATE value = .* DELETE FROM mysql.rds_sysinfo.* INSERT INTO mysql.rds_sysinfo\(.*\) values \(.*\) DELETE FROM mysql.rds_monitor.* INSERT INTO mysql.rds_monitor\(.*\) values \(.*\) ON DUPLICATE KEY UPDATE value = .* INSERT INTO mysql.rds_monitor\(.*\) values \(.*\) FLUSH RELAY LOGS.* flush relay logs.* SAVEPOINT .*