pt-table-checksum index check is case-sensitive
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Toolkit moved to https://jira.percona.com/projects/PT |
Fix Released
|
Medium
|
Daniel Nichter |
Bug Description
When using pt-table-checksum to verify replication between a master and slave, I found that there were certain tables that were not being checksummed with the following message:
Aborting <table> because <index> cannot be nibbled safely.
Curiously, this table did have a UNIQUE index (in fact, the one in use here), but it was still being skipped. I output a trace and ran pt-table-checksum again to see which index was failing, and it turned out to have been the right one:
Aborting <table> because <index> cannot be nibbled safely.ID ne id
So it seems that when an EXPLAIN is run on a query, it grabs the index in whatever case it's in, but at some point during the initialization/
There was another point later on that would verify the right index was used that had the same issue; I patched that as well.
The enclosed patch fixes the issue for me.
Related branches
summary: |
- pt-table-checksum aborts chunking on incorrect case + pt-table-checksum index check is case-sensitive |
Changed in percona-toolkit: | |
status: | In Progress → Fix Committed |
Changed in percona-toolkit: | |
status: | Fix Committed → In Progress |
status: | In Progress → Fix Committed |
Changed in percona-toolkit: | |
status: | Fix Committed → Fix Released |
Thanks for reporting this and providing a patch. I'll write a test case and fix the code.