Hi community,
I have problems with analyzing slow querys with pt-query-digest from one server.
Out of five instances, I collected with tcpdump, one constantly aborts query.
Server environment: CentOS 7.6.1810, MySQL 14.14 Distrib 5.7.24, tcpdump v.4.9.2
I collected data with command:
sudo time /usr/sbin/tcpdump -c 15000000 -s 65535 -x -nn -q -tttt -i any port 3306 | bzip2 > /tmp/mysql.tcp.${HOSTNAME%%.*}.bz2
and analyzed with:
pt-query-digest --group-by fingerprint --type tcpdump mysql.tcp.HOST > digest.HOST.txt
Query aborts after some time and messages:
Pipeline process 4 (MySQLProtocolParser) caused an error: Use of uninitialized value $data in pack at /usr/bin/pt-query-digest line 4528, <$fh> line 818556.
Will retry pipeline process 3 (MySQLProtocolParser) 100 more times.
Pipeline process 4 (MySQLProtocolParser) caused an error: Use of uninitialized value $data in pack at /usr/bin/pt-query-digest line 4528, <$fh> line 818733.
Will retry pipeline process 3 (MySQLProtocolParser) 99 more times.
Pipeline process 4 (MySQLProtocolParser) caused an error: Argument "" isn't numeric in substr at /usr/bin/pt-query-digest line 4554, <$fh> line 878349.
Will retry pipeline process 3 (MySQLProtocolParser) 98 more times.
mysql.tcp.HOST: 6% 30:58 remain
Pipeline process 4 (MySQLProtocolParser) caused an error: Can't use an undefined value as an ARRAY reference at /usr/bin/pt-query-digest line 4805, <$fh> line 1075378.
Will retry pipeline process 3 (MySQLProtocolParser) 97 more times.
mysql.tcp.HOST: 7% 29:52 remain
Pipeline process 4 (MySQLProtocolParser) caused an error: Argument "" isn't numeric in substr at /usr/bin/pt-query-digest line 4554, <$fh> line 1197870.
Will retry pipeline process 3 (MySQLProtocolParser) 96 more times.
mysql.tcp.HOST: 9% 29:00 remain
...
Will retry pipeline process 3 (MySQLProtocolParser) 3 more times.
Pipeline process 4 (MySQLProtocolParser) caused an error: Can't use an undefined value as an ARRAY reference at /usr/bin/pt-query-digest line 4805, <$fh> line 1494682.
Will retry pipeline process 3 (MySQLProtocolParser) 2 more times.
Pipeline process 4 (MySQLProtocolParser) caused an error: Can't use an undefined value as an ARRAY reference at /usr/bin/pt-query-digest line 4805, <$fh> line 1494692.
Will retry pipeline process 3 (MySQLProtocolParser) 1 more time.
The pipeline caused an error: Pipeline process 4 (MySQLProtocolParser) caused an error: Can't use an undefined value as an ARRAY reference at /usr/bin/pt-query-digest line 4805, <$fh> line 1494706.
Terminating pipeline because process 3 (MySQLProtocolParser) caused too many errors.
I tried pt-query-digest versions from 2.2.20 to 3.0.13 with same results.
Where should I look for cause and solution of problem?
Boris