pt-table-checksum not working as supposed in mixed format replication

I had set up a master-slave with MariaDb 10.0 percona-toolkit-3.0.4 and i had config replication format = Mixed, it worked until some days ago when it stopped finding any difference, even missing rows…
Today I discovered i have to specify --set-vars binlog_format=STATEMENT to make it work again.
I think this is different from what is described in the last documentation.

Hope this can help someone else.

How does your replication topology look likes ? Do you have intermediate master too e.g. M1 -> S1 -> S2 ?
pt-table-checksum set STATEMENT based binlog_format on session level and underlying slave(s) receives checksum queries in STATEMENT level too to do the checksum.

how to deal with AWS RDS for MySQL which doesn’t provide the SUPER privilege?

The issue was fixed in Percona Toolkit 3.0.5

12-08T15:49:03 Failed to /!50108 SET @@binlog_format := ‘STATEMENT’/: DBD::mysql::db do failed: Access denied; you need (at least one of) the SUPER privilege(s) for this operation [for Statement “/!50108 SET @@binlog_format := ‘STATEMENT’/”] at ./pt-table-checksum line 9403.

This tool requires binlog_format=STATEMENT, but the current binlog_format is set to MIXED and an error occurred while attempting to change it. If running MySQL 5.1.29 or newer, setting binlog_format requires the SUPER privilege. You will need to manually set binlog_format to ‘STATEMENT’ before running this tool.
[root@ip-172-0-27-13 bin]# ./pt-table-checksum --version
pt-table-checksum 3.0.5

it’s still failed againt AWS RDS per the above message