DBZ-6864 - Debezium-MySQL not filtering AWS RDS internal events
This commit is contained in:
parent
0dd0ff7306
commit
3a2e141c56
@ -78,7 +78,7 @@ public interface SchemaHistory {
|
|||||||
.withType(Type.STRING)
|
.withType(Type.STRING)
|
||||||
.withDefault(
|
.withDefault(
|
||||||
"DROP TEMPORARY TABLE IF EXISTS .+ /\\* generated by server \\*/," +
|
"DROP TEMPORARY TABLE IF EXISTS .+ /\\* generated by server \\*/," +
|
||||||
// Filter out RDS heartbeat statements, see DBZ-469
|
// Filter out RDS heartbeat statements, see DBZ-469 / DBZ-1492 / DBZ-2275 / DBZ-6864
|
||||||
"INSERT INTO mysql.rds_heartbeat2\\(.*\\) values \\(.*\\) ON DUPLICATE KEY UPDATE value = .*," +
|
"INSERT INTO mysql.rds_heartbeat2\\(.*\\) values \\(.*\\) ON DUPLICATE KEY UPDATE value = .*," +
|
||||||
"DELETE FROM mysql.rds_sysinfo.*," +
|
"DELETE FROM mysql.rds_sysinfo.*," +
|
||||||
"INSERT INTO mysql.rds_sysinfo\\(.*\\) values \\(.*\\)," +
|
"INSERT INTO mysql.rds_sysinfo\\(.*\\) values \\(.*\\)," +
|
||||||
@ -88,6 +88,7 @@ public interface SchemaHistory {
|
|||||||
"FLUSH RELAY LOGS.*," +
|
"FLUSH RELAY LOGS.*," +
|
||||||
"flush relay logs.*," +
|
"flush relay logs.*," +
|
||||||
"SAVEPOINT .*," +
|
"SAVEPOINT .*," +
|
||||||
|
"SET STATEMENT .*," +
|
||||||
// Filter out the comment start with "# Dummy event" according https://jira.mariadb.org/browse/MDEV-225
|
// Filter out the comment start with "# Dummy event" according https://jira.mariadb.org/browse/MDEV-225
|
||||||
"^\\s*#\\s*Dummy event.*")
|
"^\\s*#\\s*Dummy event.*")
|
||||||
.withWidth(Width.LONG)
|
.withWidth(Width.LONG)
|
||||||
|
@ -390,4 +390,13 @@ public void testConfigurationMerge() {
|
|||||||
assertThat(dbConfig.keys().size()).isEqualTo(2);
|
assertThat(dbConfig.keys().size()).isEqualTo(2);
|
||||||
assertThat(dbConfig.getString("user")).isEqualTo("mysqluser");
|
assertThat(dbConfig.getString("user")).isEqualTo("mysqluser");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@FixFor("DBZ-6864")
|
||||||
|
public void defaultDdlFilterShouldFilterOutRdsSetStatements() {
|
||||||
|
String defaultDdlFilter = Configuration.create().build().getString(SchemaHistory.DDL_FILTER);
|
||||||
|
Predicate<String> ddlFilter = Predicates.includes(defaultDdlFilter, Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
|
||||||
|
assertThat(ddlFilter.test("SET STATEMENT max_statement_time=60 FOR DELETE FROM mysql.rds_sysinfo where name = 'innodb_txn_key'")).isTrue();
|
||||||
|
assertThat(ddlFilter.test("SET STATEMENT max_statement_time=60 FOR INSERT INTO mysql.rds_heartbeat2(id, value) values (1,1692866524004) ON DUPLICATE KEY UPDATE value = 1692866524004")).isTrue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user