pt-table-checksum "Deep recursion..." error

I am trying to run the latest pt-table-checksum on a MySQL 5.0.67 server (Cent 5.5) and I receive the following error:

Deep recursion on subroutine “SchemaIterator::_iterate_dbh” at /usr/bin/pt-table-checksum line 6927.

I am using pt-table-checksum as follows:

pt-table-checksum h=localhost,u=user,p=password --no-check-replication-filters --lock-wait-time=120 --recursion-method=dsn=D=percona,t=dsns --tables database.table

I’m not sure what to do. Google didn’t really help me on this one.


I’ve tested it locally but I’m not getting above error. As per your commandline, I’m assuming that you want to compare your master server with specific slave (you must have more slaves with one master). Have you created dsns table on percona DB and add DSN entry in that table? If not, then can you do it first?


CREATE TABLE dsns ( id int(11) NOT NULL AUTO_INCREMENT, parent_id int(11) DEFAULT NULL, dsn varchar(255) NOT NULL, PRIMARY KEY (id));INSERT INTO dsns (dsn) VALUES ("-h127.0.0.1,u=user,p=pass,P=port"); – here details should be of slave which you want to compare.

You can get more information here ksum.html#cmdoption-pt-table-checksum–recursion-method
And then try again to run above command for checksum.


I did that part, although I only add the host and port since I have some slaves on non-standard ports. I didn’t add an entry with username and password, or entries for slaves with a standard port.


hi i want to modify one column in the table and i alos want to use --recursion-method/ --check-slave-lag i want to monitor the lag between two network how can i do this

These are my commands:-

pt-online-schema-change --p=123456 --execute --check-slave-lag=10s h=abc.slave , P=3306 --print --alter “MODIFY COLUMN abc varchar(7) NOT NULL DEFAULT ‘money’” D=archives,t=abc_details_xyz;

pt-online-schema-change --p=123456 --execute --recursion-method=dsn=D=percona,t=dsns --print --alter “MODIFY COLUMN abc varchar(7) NOT NULL DEFAULT ‘money’” D=archives,t=abc_details_xyz;

These two are my errors:–

DBD::mysql::db selectcol_arrayref failed: Unknown column ‘dsn’ in ‘field list’ [for Statement “SELECT dsn FROM archives.abc_details_xyz ORDER BY id”] at /usr/bin/pt-online-schema-change line 4764

Usage: pt-online-schema-change [OPTIONS] DSN

Errors in command-line arguments:

  • Specify only one DSN on the command line
  • The DSN must specify a database (D) and a table (t)

pt-online-schema-change alters a table’s structure without blocking reads or
writes. Specify the database and table in the DSN. Do not use this tool before
reading its documentation and checking your backups carefully. For more
details, please use the --help option, or try ‘perldoc
/usr/bin/pt-online-schema-change’ for complete documentation.

Please help on this topic you can contact me on