Comment 2 for bug 944051

Revision history for this message
Daniel Nichter (daniel-nichter) wrote :

pt-table-checksum has three possible exit statuses: zero, 255, and any other
value is a bitmask with flags for different problems.

A zero exit status indicates no errors, warnings, or checksum differences,
or skipped chunks or tables.

A 255 exit status indicates a fatal error. In other words: the tool died
or crashed. The error is printed to C<STDERR>.

If the exit status is not zero or 255, then its value functions as a bitmask
with these flags:

   FLAG BIT VALUE MEANING
   ================ ========= ==========================================
   ALREADY_RUNNING 4 --pid file exists and the PID is running
   NO_SLAVES_FOUND 8 No replicas or cluster nodes were found
   CAUGHT_SIGNAL 16 Caught SIGHUP, SIGINT, SIGPIPE, or SIGTERM
   ERROR 32 A non-fatal error occurred
   TABLE_DIFF 512 At least one diff was found
   SKIP_CHUNK 1024 At least one chunk was skipped
   SKIP_TABLE 2048 At least one table was skipped

If any flag is set, the exit status will be non-zero. Use the bitwise C<AND>
operation to check for a particular flag. For example, if C<$exit_status & 4>
is true, then at least one diff was found.