Merge lp:~percona-toolkit-dev/percona-toolkit/fix-genlog-parser-bug-1078838 into lp:percona-toolkit/2.1

Proposed by Daniel Nichter
Status: Merged
Merged at revision: 495
Proposed branch: lp:~percona-toolkit-dev/percona-toolkit/fix-genlog-parser-bug-1078838
Merge into: lp:percona-toolkit/2.1
Diff against target: 109 lines (+61/-4)
4 files modified
bin/pt-query-digest (+2/-1)
lib/GeneralLogParser.pm (+2/-1)
t/lib/GeneralLogParser.t (+53/-2)
t/lib/samples/genlogs/genlog004.txt (+4/-0)
To merge this branch: bzr merge lp:~percona-toolkit-dev/percona-toolkit/fix-genlog-parser-bug-1078838
Reviewer Review Type Date Requested Status
Daniel Nichter Approve
Review via email: mp+139119@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Daniel Nichter (daniel-nichter) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/pt-query-digest'
2--- bin/pt-query-digest 2012-11-29 20:10:54 +0000
3+++ bin/pt-query-digest 2012-12-10 23:39:22 +0000
4@@ -9692,7 +9692,8 @@
5 $cmd = $arg;
6 }
7 else {
8- my ($user, undef, $db) = $arg =~ /(\S+)/g;
9+ my ($user) = $arg =~ m/(\S+)/;
10+ my ($db) = $arg =~ m/on (\S+)/;
11 my $host;
12 ($user, $host) = split(/@/, $user);
13 PTDEBUG && _d('Connect', $user, '@', $host, 'on', $db);
14
15=== modified file 'lib/GeneralLogParser.pm'
16--- lib/GeneralLogParser.pm 2012-01-19 19:46:56 +0000
17+++ lib/GeneralLogParser.pm 2012-12-10 23:39:22 +0000
18@@ -129,7 +129,8 @@
19 else {
20 # The Connect command may or may not be followed by 'on'.
21 # When it is, 'on' may or may not be followed by a database.
22- my ($user, undef, $db) = $arg =~ /(\S+)/g;
23+ my ($user) = $arg =~ m/(\S+)/;
24+ my ($db) = $arg =~ m/on (\S+)/;
25 my $host;
26 ($user, $host) = split(/@/, $user);
27 PTDEBUG && _d('Connect', $user, '@', $host, 'on', $db);
28
29=== modified file 't/lib/GeneralLogParser.t'
30--- t/lib/GeneralLogParser.t 2012-03-06 13:56:08 +0000
31+++ t/lib/GeneralLogParser.t 2012-12-10 23:39:22 +0000
32@@ -9,7 +9,7 @@
33 use strict;
34 use warnings FATAL => 'all';
35 use English qw(-no_match_vars);
36-use Test::More tests => 7;
37+use Test::More;
38
39 use GeneralLogParser;
40 use PerconaTest;
41@@ -219,7 +219,58 @@
42 ]
43 );
44
45+# Customer issue from Ernie.
46+test_log_parser(
47+ parser => $p,
48+ file => $sample.'genlog004.txt',
49+ oktorun => sub { $oktorun = $_[0]; },
50+ result => [
51+ {
52+ Query_time => 0,
53+ Thread_id => '12345',
54+ arg => q/administrator command: Access denied for user 'nobody'@'localhost' (using password: NO)
55+/,
56+ bytes => 88,
57+ cmd => 'Admin',
58+ pos_in_log => 0,
59+ ts => undef
60+ },
61+ {
62+ Query_time => 0,
63+ Thread_id => '12345',
64+ arg => 'administrator command: Connect',
65+ bytes => 30,
66+ cmd => 'Admin',
67+ host => 'localhost',
68+ pos_in_log => 81,
69+ ts => undef,
70+ user => 'nobody'
71+ },
72+ {
73+ Query_time => 0,
74+ Thread_id => '31519',
75+ arg => 'BEGIN',
76+ bytes => 5,
77+ cmd => 'Query',
78+ pos_in_log => 122,
79+ ts => undef
80+ },
81+ {
82+ Query_time => 0,
83+ Thread_id => '98765',
84+ arg => 'administrator command: Connect',
85+ bytes => 30,
86+ cmd => 'Admin',
87+ db => 'sar',
88+ host => '1.2.3.4',
89+ pos_in_log => 184,
90+ ts => undef,
91+ user => 'payments_r'
92+ },
93+ ],
94+);
95+
96 # #############################################################################
97 # Done.
98 # #############################################################################
99-exit;
100+done_testing;
101
102=== added file 't/lib/samples/genlogs/genlog004.txt'
103--- t/lib/samples/genlogs/genlog004.txt 1970-01-01 00:00:00 +0000
104+++ t/lib/samples/genlogs/genlog004.txt 2012-12-10 23:39:22 +0000
105@@ -0,0 +1,4 @@
106+ 12345 Connect Access denied for user 'nobody'@'localhost' (using password: NO)
107+ 12345 Connect nobody@localhost as on
108+ 31519 Query BEGIN
109+ 98765 Connect payments_r@1.2.3.4 on sar

Subscribers

People subscribed via source and target branches