Not the answer you need?
Register and ask your own question!

pt-table-sync error 'cannot nibble table'

xrefxref EntrantInactive User Role Beginner
Running this on our replication master (toolkit v2.2.4):
sudo pt-table-sync --print --sync-to-master slave1 --tables=pulse.unsubscribe > /tmp/ptsync.log

results in the error:
Cannot nibble table `pulse`.`unsubscribe` because MySQL chose no index instead of the `PRIMARY` index at /usr/bin/pt-table-sync line 5456. while doing pulse.unsubscribe on slave1

It's a pretty simple table, holds email addresses for unsubscribers:
CREATE TABLE `unsubscribe` (
`email` varchar(320) NOT NULL,
`contact_id` varchar(50) DEFAULT NULL,
`unsubscribed` datetime NOT NULL,
PRIMARY KEY (`email`(255)),
KEY `unsubscribe_contact_index` (`contact_id`)

I was able to run this command against 2 other tables in the database 'pulse' which had diffs found by pt-table-checksum and it worked great. This is the only table I'm having the Nibble error on. Any ideas?


  • mirfanmirfan Database Administrator Inactive User Role Beginner

    You might be affected by this bug
    What version of pt-table-sync you are using ? You can check via

    $ pt-table-sync --version

    And try with latest version of pt-table-sync and let me know how it goes.

    Thank you.
  • xrefxref Entrant Inactive User Role Beginner
    Well the fix for that was released in 2.1.9, i've been having the error on 2.2.3
Sign In or Register to comment.

MySQL, InnoDB, MariaDB and MongoDB are trademarks of their respective owners.
Copyright ©2005 - 2020 Percona LLC. All rights reserved.