Merge lp:~percona-toolkit-dev/percona-toolkit/fix-pt-va-5.6-dirty-pages-bug-1168106 into lp:~percona-toolkit-dev/percona-toolkit/release-2.2.4

Proposed by Daniel Nichter
Status: Merged
Merged at revision: 598
Proposed branch: lp:~percona-toolkit-dev/percona-toolkit/fix-pt-va-5.6-dirty-pages-bug-1168106
Merge into: lp:~percona-toolkit-dev/percona-toolkit/release-2.2.4
Diff against target: 84 lines (+56/-2)
3 files modified
bin/pt-variable-advisor (+3/-1)
lib/VariableAdvisorRules.pm (+3/-1)
t/pt-variable-advisor/advice.t (+50/-0)
To merge this branch: bzr merge lp:~percona-toolkit-dev/percona-toolkit/fix-pt-va-5.6-dirty-pages-bug-1168106
Reviewer Review Type Date Requested Status
Daniel Nichter Approve
Review via email: mp+171922@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-variable-advisor'
2--- bin/pt-variable-advisor 2013-06-27 20:54:10 +0000
3+++ bin/pt-variable-advisor 2013-06-27 21:50:37 +0000
4@@ -3376,7 +3376,9 @@
5 id => 'innodb_max_dirty_pages_pct',
6 code => sub {
7 my ( %args ) = @_;
8- return _var_lt($args{variables}->{innodb_max_dirty_pages_pct}, 90);
9+ my $mysql_version = $args{mysql_version};
10+ return _var_lt($args{variables}->{innodb_max_dirty_pages_pct},
11+ ($mysql_version < '5.5' ? 90 : 75));
12 },
13 },
14 {
15
16=== modified file 'lib/VariableAdvisorRules.pm'
17--- lib/VariableAdvisorRules.pm 2013-01-03 00:19:16 +0000
18+++ lib/VariableAdvisorRules.pm 2013-06-27 21:50:37 +0000
19@@ -214,7 +214,9 @@
20 id => 'innodb_max_dirty_pages_pct',
21 code => sub {
22 my ( %args ) = @_;
23- return _var_lt($args{variables}->{innodb_max_dirty_pages_pct}, 90);
24+ my $mysql_version = $args{mysql_version};
25+ return _var_lt($args{variables}->{innodb_max_dirty_pages_pct},
26+ ($mysql_version < '5.5' ? 90 : 75));
27 },
28 },
29 {
30
31=== added file 't/pt-variable-advisor/advice.t'
32--- t/pt-variable-advisor/advice.t 1970-01-01 00:00:00 +0000
33+++ t/pt-variable-advisor/advice.t 2013-06-27 21:50:37 +0000
34@@ -0,0 +1,50 @@
35+#!/usr/bin/env perl
36+
37+BEGIN {
38+ die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n"
39+ unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH};
40+ unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib";
41+};
42+
43+use strict;
44+use warnings FATAL => 'all';
45+use English qw(-no_match_vars);
46+use Test::More;
47+
48+use PerconaTest;
49+use Sandbox;
50+require "$trunk/bin/pt-variable-advisor";
51+
52+my $dp = new DSNParser(opts=>$dsn_opts);
53+my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp);
54+my $dbh = $sb->get_dbh_for('master');
55+my $dsn = $sb->dsn_for('master');
56+
57+if ( !$dbh ) {
58+ plan skip_all => "Cannot connect to sandbox master";
59+}
60+
61+# #############################################################################
62+# https://bugs.launchpad.net/percona-toolkit/+bug/1168106
63+# pt-variable-advisor has the wrong default value for
64+# innodb_max_dirty_pages_pct in 5.6.10
65+# #############################################################################
66+
67+my @args = "$dsn";
68+my $output = "";
69+
70+$output = output(
71+ sub { pt_variable_advisor::main(@args) },
72+);
73+
74+unlike(
75+ $output,
76+ qr/innodb_max_dirty_pages_pct/,
77+ "No innodb_max_dirty_pages_pct warning (bug 1168106)"
78+);
79+
80+# #############################################################################
81+# Done.
82+# #############################################################################
83+ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox");
84+done_testing;

Subscribers

People subscribed via source and target branches

to all changes: