Pt-table-checksum says too many rows but lists wrong counts

I’m running into an odd problem with pt-table-checksum that is probably very basic, but I’m failing to describe it to google in a way that yields an answer.

I had originally run

pt-table-checksum --user=u --password=p --host=h --database=d --tables-regex="^b.*"

This presented an error that said it was skipping a table “because on the master it would be checksummed in one chunk but on these replicas it has too many rows” and then correctly reported differing row counts on a couple replicas.

I then copied the table in question from the master to the replicas using mysqldump, and ran the same pt-table-checksum command. It reported the same error with the same - now incorrect - row counts.

Based on some of what I found, I thought this might have something to do with InnoDB metadata, but a couple days later it continues to do the same thing.

What’s truly baffling to me is if I use --tables instead of --tables-regex to make pt-table-checksum look at just the one table at issue, it succeeds and reports zero diffs. So it can discover that the rows counts have changed and that the table is in sync, but only sometimes? Any insight into what might be happening here would be appreciated.

1 Like

Hello @Andy_Theuninck,
That is indeed odd behavior. I suggest you open a bug report at If you can provide more specific details, like the schema you are using, that will help our QA department reproduce the issue.

1 Like