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

  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

  • #2

    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

    http://www.percona.com/doc/percona-toolkit/2.1/pt-table-chec ksum.html#cmdoption-pt-table-checksum--recursion-method
    And then try again to run above command for checksum.



    • #3
      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.


      • #4

        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 badal.singh@cozygames.com