Merge lp:~akopytov/percona-xtrabackup/bug1181171-2.2 into lp:percona-xtrabackup/2.2

Proposed by Alexey Kopytov
Status: Merged
Approved by: Alexey Kopytov
Approved revision: no longer in the source branch.
Merged at revision: 4992
Proposed branch: lp:~akopytov/percona-xtrabackup/bug1181171-2.2
Merge into: lp:percona-xtrabackup/2.2
Diff against target: 151 lines (+1/-87)
1 file modified
storage/innobase/xtrabackup/innobackupex.pl (+1/-87)
To merge this branch: bzr merge lp:~akopytov/percona-xtrabackup/bug1181171-2.2
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) Approve
Review via email: mp+231937@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Alexey Kopytov (akopytov) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'storage/innobase/xtrabackup/innobackupex.pl'
2--- storage/innobase/xtrabackup/innobackupex.pl 2014-07-21 15:16:37 +0000
3+++ storage/innobase/xtrabackup/innobackupex.pl 2014-08-22 17:10:18 +0000
4@@ -64,10 +64,6 @@
5 # default compression level (this is an argument to ibbackup)
6 my $default_compression_level = 1;
7
8-# time in seconds after which a dummy query is sent to mysql server
9-# in order to keep the database connection alive
10-my $mysql_keep_alive = 5;
11-
12 ######################################################################
13 # end of modifiable parameters
14 ######################################################################
15@@ -2911,71 +2907,6 @@
16 }
17
18 #
19-# Start a background process that will send keep-alive queries periodically
20-# using the connection passed as a 'mysql' hash reference
21-#
22-sub start_keepalives {
23- my $con = shift;
24-
25- if (defined($con->{keep_alive_pid})) {
26- die "Keep-alive process has already been started for this connection."
27- }
28-
29- my $keep_alive_pid = fork();
30-
31- if ($keep_alive_pid) {
32- # parent process
33- $con->{keep_alive_pid} = $keep_alive_pid;
34-
35- return;
36- }
37-
38- # child process
39- $con->{dbh}->{InactiveDestroy} = 1;
40-
41- my $rc = 0;
42- my $hello_id = 0;
43-
44- # send dummy queries to connection until interrupted with SIGINT or a
45- # connection error
46- while (!$rc) {
47- sleep $mysql_keep_alive;
48-
49- my $hello_message = "xtrabackup ping " . $hello_id++;
50-
51- eval {
52- $con->{dbh}->selectrow_array("select '$hello_message'");
53- };
54-
55- if ($EVAL_ERROR) {
56- $rc = 255;
57- }
58- }
59-
60- exit $rc;
61-}
62-
63-#
64-# Stop the background keep-alive process
65-#
66-sub stop_keepalives {
67- my $con = shift;
68-
69- if (!defined($con->{keep_alive_pid})) {
70- die "Keep-alive process has never been started for this connection."
71- }
72-
73- kill 'INT', $con->{keep_alive_pid};
74- waitpid($con->{keep_alive_pid}, 0);
75- my $rc = $? >> 8;
76-
77- if ($rc != 0) {
78- die "Keep-alive process died with exit code " . $rc;
79- }
80- undef $con->{keep_alive_pid};
81-}
82-
83-#
84 # mysql_connect subroutine connects to MySQL server
85 #
86 sub mysql_connect {
87@@ -2983,12 +2914,10 @@
88 my %args = (
89 # Defaults
90 abort_on_error => 1,
91- keepalives => 0,
92 @_
93 );
94
95 $con{abort_on_error} = $args{abort_on_error};
96- $con{keepalives} = $args{keepalives};
97
98 parse_connection_options(\%con);
99
100@@ -3028,9 +2957,6 @@
101
102 if ($con{dbh}) {
103 $con{dbh}->do("SET SESSION wait_timeout=2147483");
104- if ($con{keepalives}) {
105- start_keepalives(\%con);
106- }
107 }
108
109 return %con;
110@@ -3046,10 +2972,6 @@
111 my ($con, $query) = @_;
112
113 eval {
114- if ($con->{keepalives}) {
115- stop_keepalives($con);
116- }
117-
118 if ($query eq 'SHOW VARIABLES') {
119 $con->{vars} = $con->{dbh}->selectall_hashref('SHOW VARIABLES',
120 'Variable_name');
121@@ -3069,10 +2991,6 @@
122 } else {
123 $con->{dbh}->do($query);
124 }
125-
126- if ($con->{keepalives}) {
127- start_keepalives($con);
128- }
129 };
130 if ($EVAL_ERROR) {
131 die "\nError executing '$query': $EVAL_ERROR";
132@@ -3102,10 +3020,6 @@
133 sub mysql_close {
134 my $con = shift;
135
136- if ($con->{keepalives}) {
137- stop_keepalives($con);
138- };
139-
140 $con->{dbh}->disconnect();
141
142 $now = current_time();
143@@ -3384,7 +3298,7 @@
144
145 sleep($kill_timeout);
146
147- my %con = mysql_connect(abort_on_error => 1, keepalives => 0);
148+ my %con = mysql_connect(abort_on_error => 1);
149
150 while (!$end) {
151 kill_long_queries(\%con, time() - $start_time);

Subscribers

People subscribed via source and target branches

to all changes: