Turn off statement based binlog checks

For RDS we use row based replication however `pt-table-checksum` wants
to enforce statement and despite passing in the
`--no-check-binlog-format` flag, it would still run it (even though the
documentation suggests[1] it shouldn't). This appears to be a bug
because there is another binlog format check that is wrapped in
`$o->get('check-binlog-format')` slightly further down.

To resolve this, I've updated the remaining binlog format check in the
same expression as the one below and it now honours the
`--no-check-binlog-format` as expected.

[1]: https://www.percona.com/doc/percona-toolkit/3.0/pt-table-checksum.html#cmdoption-pt-table-checksum--[no]check-binlog-format
This commit is contained in:
Jacob Bednarz
2017-03-24 08:31:25 +11:00
parent 7b0d02b8b8
commit 0271ba6a09

View File

@@ -9273,7 +9273,7 @@ sub main {
. ": $EVAL_ERROR";
}
if ( $o->get('check-binlog-format') ) {
# https://bugs.launchpad.net/percona-toolkit/+bug/919352
# The tool shouldn't blindly attempt to change binlog_format;
# instead, it should check if it's already set to STATEMENT.
@@ -9302,6 +9302,7 @@ sub main {
}
}
}
}
# Set transaction isolation level. We set binlog_format to STATEMENT,
# but if the transaction isolation level is set to READ COMMITTED and the