pt-deadlock-logger 2.2 requires DSN on command line
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Toolkit moved to https://jira.percona.com/projects/PT |
Fix Released
|
Medium
|
Daniel Nichter |
Bug Description
My percona toolkit installation was upgraded from 2.1.9 to 2.2.4 today and pt-deadlock-logger began failing.
It's failing with the error:
-------
pt-deadlock-logger logs information about MySQL deadlocks on the given DSN.
Information is printed to C<STDOUT>, and it can also be saved to a table by
specifying L<"--dest">. The tool runs for forever unless L<"--run-time"> or
L<"--iterations"> is specified. For more details, please use the --help option,
or try 'perldoc /usr/bin/
Usage: pt-deadlock-logger [OPTIONS] DSN
Errors in command-line arguments:
* No DSN was specified.
-------
Nothing was changed with my configuration or db permissions. The command line call looks like
/usr/bin/
-------
# Start DSN options for connection to server you want to monitor
h=localhost
S=/var/
u=user
p=pass
# End DSN
interval=1s # Time interval to poll samples. Since I didn't specify a run-time param this should run forever
# This is destination DSN information. I didn't specify a username or
# password so it inherits those credentials from the DSN definition at the top
dest=D=
-------
I reviewed the latest docs and didn't see anyting about a change in the dest param or DSN format.
tags: | added: pt-deadlock-logger regression |
Changed in percona-toolkit: | |
status: | New → Confirmed |
milestone: | none → 2.2.5 |
importance: | Undecided → Medium |
Changed in percona-toolkit: | |
milestone: | 2.2.5 → none |
summary: |
- pt-deadlock-logger claims "* No DSN was specified." After upgrading - from 2.1.9 to 2.2.4 + pt-deadlock-logger 2.2 requires a DSN |
Changed in percona-toolkit: | |
status: | Fix Committed → Fix Released |
This was a regression, now tested and fixed. Generally, for tools that take DSN on command line, that DSN is optional because no DSN defaults to h=localhost. In this case, however, the code was preventing that from happening. Now the DSN can be left out, the default h=localhost is used, and then the --config settings are applied to/override that default.