Merge lp:~akopytov/percona-xtrabackup/bug759701-1.7 into lp:percona-xtrabackup/2.0
- bug759701-1.7
- Merge into 2.0
Proposed by
Alexey Kopytov
Status: | Merged |
---|---|
Approved by: | Stewart Smith |
Approved revision: | no longer in the source branch. |
Merged at revision: | 390 |
Proposed branch: | lp:~akopytov/percona-xtrabackup/bug759701-1.7 |
Merge into: | lp:percona-xtrabackup/2.0 |
Diff against target: |
372 lines (+159/-69) 9 files modified
innobackupex (+83/-62) test/t/bug723097.sh (+1/-1) test/t/bug759701.sh (+69/-0) test/t/ib_incremental.sh (+1/-1) test/t/xb_export.sh (+1/-1) test/t/xb_incremental.sh (+1/-1) test/t/xb_incremental_compressed.sh (+1/-1) test/t/xb_part_range.sh (+1/-1) test/t/xb_partial.sh (+1/-1) |
To merge this branch: | bzr merge lp:~akopytov/percona-xtrabackup/bug759701-1.7 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Stewart Smith (community) | Approve | ||
Review via email: mp+86602@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Alexey Kopytov (akopytov) wrote : | # |
Revision history for this message
Stewart Smith (stewart) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'innobackupex' | |||
2 | --- innobackupex 2011-12-17 03:23:36 +0000 | |||
3 | +++ innobackupex 2011-12-21 18:48:30 +0000 | |||
4 | @@ -15,6 +15,8 @@ | |||
5 | 15 | use FileHandle; | 15 | use FileHandle; |
6 | 16 | use File::Basename; | 16 | use File::Basename; |
7 | 17 | use File::Temp; | 17 | use File::Temp; |
8 | 18 | use File::Find; | ||
9 | 19 | use File::Copy; | ||
10 | 18 | use English qw(-no_match_vars); | 20 | use English qw(-no_match_vars); |
11 | 19 | 21 | ||
12 | 20 | # version of this script | 22 | # version of this script |
13 | @@ -208,6 +210,11 @@ | |||
14 | 208 | my $xtrabackup_binary_file = 'xtrabackup_binary'; | 210 | my $xtrabackup_binary_file = 'xtrabackup_binary'; |
15 | 209 | my %rsync_files_hash; | 211 | my %rsync_files_hash; |
16 | 210 | 212 | ||
17 | 213 | my $copy_dir_src; | ||
18 | 214 | my $copy_dir_dst; | ||
19 | 215 | my $copy_dir_exclude_regexp; | ||
20 | 216 | my $copy_dir_overwrite; | ||
21 | 217 | |||
22 | 211 | ###################################################################### | 218 | ###################################################################### |
23 | 212 | # program execution begins here | 219 | # program execution begins here |
24 | 213 | ###################################################################### | 220 | ###################################################################### |
25 | @@ -519,6 +526,58 @@ | |||
26 | 519 | } | 526 | } |
27 | 520 | 527 | ||
28 | 521 | # | 528 | # |
29 | 529 | # Callback function for copy_dir_recursively that actually does all | ||
30 | 530 | # the copying work | ||
31 | 531 | # | ||
32 | 532 | sub copy_file() { | ||
33 | 533 | if (/$copy_dir_exclude_regexp/) { | ||
34 | 534 | return; | ||
35 | 535 | } | ||
36 | 536 | (my $dst_path = $File::Find::name) =~ s/^$copy_dir_src/$copy_dir_dst/; | ||
37 | 537 | if (-d "$File::Find::name") { | ||
38 | 538 | # Create the directory in the destination if necessary | ||
39 | 539 | if (! -e "$dst_path") { | ||
40 | 540 | print STDERR "$prefix Creating directory '$dst_path'\n"; | ||
41 | 541 | mkdir "$dst_path" or Die "mkdir failed: $!"; | ||
42 | 542 | } elsif (! -d "$dst_path") { | ||
43 | 543 | Die "$dst_path exists, but is not a directory"; | ||
44 | 544 | } | ||
45 | 545 | } else { | ||
46 | 546 | # Don't overwrite files unless $copy_dir_overwrite is 1 | ||
47 | 547 | if (!$copy_dir_overwrite && -e "$copy_dir_dst/$_") { | ||
48 | 548 | Die "Failed to copy file $File::Find::name: " . | ||
49 | 549 | "file $copy_dir_dst/$_ exists"; | ||
50 | 550 | } | ||
51 | 551 | |||
52 | 552 | print STDERR "$prefix Copying file '$copy_dir_dst/$_'\n"; | ||
53 | 553 | copy($File::Find::name, $dst_path) or Die "copy failed: $!"; | ||
54 | 554 | } | ||
55 | 555 | } | ||
56 | 556 | |||
57 | 557 | # | ||
58 | 558 | # copy_dir_recursively subroutine does a recursive copy of a specified | ||
59 | 559 | # directory excluding files matching a specifies regexp. If $overwrite | ||
60 | 560 | # is 1, it overwrites the existing files. | ||
61 | 561 | # | ||
62 | 562 | # SYNOPSIS | ||
63 | 563 | # | ||
64 | 564 | # copy_dir_recursively($src_dir, $dst_dir, $exclude_regexp, | ||
65 | 565 | # $overwrite); | ||
66 | 566 | # | ||
67 | 567 | # TODO | ||
68 | 568 | # | ||
69 | 569 | # use rsync when --rsync is specified | ||
70 | 570 | # | ||
71 | 571 | sub copy_dir_recursively { | ||
72 | 572 | $copy_dir_src = shift; | ||
73 | 573 | $copy_dir_dst = shift; | ||
74 | 574 | $copy_dir_exclude_regexp = shift; | ||
75 | 575 | $copy_dir_overwrite = shift; | ||
76 | 576 | |||
77 | 577 | find(\©_file, $copy_dir_src); | ||
78 | 578 | } | ||
79 | 579 | |||
80 | 580 | # | ||
81 | 522 | # copy_back subroutine copies data and index files from backup directory | 581 | # copy_back subroutine copies data and index files from backup directory |
82 | 523 | # back to their original locations. | 582 | # back to their original locations. |
83 | 524 | # | 583 | # |
84 | @@ -530,10 +589,11 @@ | |||
85 | 530 | get_option(\%config, 'mysqld', 'innodb_data_file_path'); | 589 | get_option(\%config, 'mysqld', 'innodb_data_file_path'); |
86 | 531 | my $orig_iblog_dir = | 590 | my $orig_iblog_dir = |
87 | 532 | get_option(\%config, 'mysqld', 'innodb_log_group_home_dir'); | 591 | get_option(\%config, 'mysqld', 'innodb_log_group_home_dir'); |
88 | 592 | my $iblog_files = 'ib_logfile.*'; | ||
89 | 533 | my $excluded_files = | 593 | my $excluded_files = |
93 | 534 | '^(\.\.?|backup-my\.cnf|xtrabackup_logfile|mysql-std(err|out)|.*\.ibz)$'; | 594 | '\.\.?|backup-my\.cnf|xtrabackup_logfile|' . |
94 | 535 | my @ibdata_files; | 595 | 'xtrabackup_binary|xtrabackup_binlog_info|xtrabackup_checkpoints' . |
95 | 536 | my $iblog_files = '^ib_logfile.*$'; | 596 | $iblog_files; |
96 | 537 | my $compressed_data_file = '.*\.ibz$'; | 597 | my $compressed_data_file = '.*\.ibz$'; |
97 | 538 | my $file; | 598 | my $file; |
98 | 539 | my $backup_innodb_data_file_path; | 599 | my $backup_innodb_data_file_path; |
99 | @@ -573,59 +633,20 @@ | |||
100 | 573 | Die "Backup data file '$backup_dir/$filename' does not exist."; | 633 | Die "Backup data file '$backup_dir/$filename' does not exist."; |
101 | 574 | } | 634 | } |
102 | 575 | } | 635 | } |
107 | 576 | 636 | ||
108 | 577 | if (!is_in_array($filename, \@ibdata_files)) { | 637 | $excluded_files .= "|\Q$filename\E"; |
105 | 578 | push(@ibdata_files, $filename); | ||
106 | 579 | } | ||
109 | 580 | } | 638 | } |
110 | 581 | 639 | ||
111 | 582 | # copy files from backup dir to their original locations | 640 | # copy files from backup dir to their original locations |
112 | 583 | 641 | ||
113 | 584 | # copy files to original data directory | 642 | # copy files to original data directory |
119 | 585 | opendir(DIR, $backup_dir) | 643 | my $excluded_regexp = '^(' . $excluded_files . ')$'; |
120 | 586 | || Die "Can't open directory '$backup_dir': $!\n"; | 644 | print STDERR "$prefix Starting to copy files in '$backup_dir'\n"; |
116 | 587 | print STDERR "$prefix Starting to copy MyISAM tables, indexes,\n"; | ||
117 | 588 | print STDERR "$prefix .MRG, .TRG, .TRN, .ARM, .ARZ, .CSM, .CSV, .opt, and .frm files\n"; | ||
118 | 589 | print STDERR "$prefix in '$backup_dir'\n"; | ||
121 | 590 | print STDERR "$prefix back to original data directory '$orig_datadir'\n"; | 645 | print STDERR "$prefix back to original data directory '$orig_datadir'\n"; |
157 | 591 | while (defined($file = readdir(DIR))) { | 646 | copy_dir_recursively($backup_dir, $orig_datadir, $excluded_regexp, 0); |
123 | 592 | if ($file =~ /$excluded_files/) { next; } | ||
124 | 593 | if (is_in_array($file, \@ibdata_files)) { next; } | ||
125 | 594 | if ($file =~ /$iblog_files/) { next; } | ||
126 | 595 | if (-d "$backup_dir/$file") { | ||
127 | 596 | my $subdir = "$backup_dir/$file"; | ||
128 | 597 | my $file2; | ||
129 | 598 | |||
130 | 599 | print STDERR "$prefix Copying directory '$subdir'\n"; | ||
131 | 600 | if (! -x "\"".escape_path("$orig_datadir/$file")."\"") { | ||
132 | 601 | system("mkdir \"".escape_path("$orig_datadir/$file")."\"") | ||
133 | 602 | and Die "Failed to create directory " | ||
134 | 603 | . "'$orig_datadir/$file' : $!"; | ||
135 | 604 | } | ||
136 | 605 | opendir(SUBDIR, "$subdir") | ||
137 | 606 | || Die "Can't open directory '$subdir': $!\n"; | ||
138 | 607 | while (defined($file2 = readdir(SUBDIR))) { | ||
139 | 608 | if (-d "$subdir/$file2") { next; } | ||
140 | 609 | if ($file2 =~ /$compressed_data_file/) { next; } | ||
141 | 610 | $src_name = escape_path("$subdir/$file2"); | ||
142 | 611 | $dst_name = escape_path("$orig_datadir/$file"); | ||
143 | 612 | system("$CP_CMD \"$src_name\" \"$dst_name\"") | ||
144 | 613 | and Die "Failed to copy file '$file': $!"; | ||
145 | 614 | } | ||
146 | 615 | closedir(SUBDIR); | ||
147 | 616 | } else { | ||
148 | 617 | print STDERR "$prefix Copying file " . | ||
149 | 618 | "'$backup_dir/$file'\n"; | ||
150 | 619 | $src_name = escape_path("$backup_dir/$file"); | ||
151 | 620 | $dst_name = escape_path("$orig_datadir"); | ||
152 | 621 | system("$CP_CMD \"$src_name\" \"$dst_name\"") | ||
153 | 622 | and Die "Failed to copy file '$file': $!"; | ||
154 | 623 | } | ||
155 | 624 | } | ||
156 | 625 | closedir(DIR); | ||
158 | 626 | 647 | ||
159 | 627 | # copy InnoDB data files to original InnoDB data directory | 648 | # copy InnoDB data files to original InnoDB data directory |
161 | 628 | print STDERR "\n$prefix Starting to copy InnoDB tables and indexes\n"; | 649 | print STDERR "\n$prefix Starting to copy InnoDB system tablespace\n"; |
162 | 629 | print STDERR "$prefix in '$backup_dir'\n"; | 650 | print STDERR "$prefix in '$backup_dir'\n"; |
163 | 630 | print STDERR "$prefix back to original InnoDB data directory '$orig_ibdata_dir'\n"; | 651 | print STDERR "$prefix back to original InnoDB data directory '$orig_ibdata_dir'\n"; |
164 | 631 | foreach my $a (split(/;/, $orig_innodb_data_file_path)) { | 652 | foreach my $a (split(/;/, $orig_innodb_data_file_path)) { |
165 | @@ -646,7 +667,7 @@ | |||
166 | 646 | print STDERR "$prefix in '$backup_dir'\n"; | 667 | print STDERR "$prefix in '$backup_dir'\n"; |
167 | 647 | print STDERR "$prefix back to original InnoDB log directory '$orig_iblog_dir'\n"; | 668 | print STDERR "$prefix back to original InnoDB log directory '$orig_iblog_dir'\n"; |
168 | 648 | while (defined($file = readdir(DIR))) { | 669 | while (defined($file = readdir(DIR))) { |
170 | 649 | if ($file =~ /$iblog_files/ && -f "$backup_dir/$file") { | 670 | if ($file =~ /'^' . $iblog_files . '$'/ && -f "$backup_dir/$file") { |
171 | 650 | print STDERR "$prefix Copying file '$backup_dir/$file'\n"; | 671 | print STDERR "$prefix Copying file '$backup_dir/$file'\n"; |
172 | 651 | $src_name = escape_path("$backup_dir/$file"); | 672 | $src_name = escape_path("$backup_dir/$file"); |
173 | 652 | $dst_name = escape_path("$orig_iblog_dir"); | 673 | $dst_name = escape_path("$orig_iblog_dir"); |
174 | @@ -714,20 +735,20 @@ | |||
175 | 714 | } | 735 | } |
176 | 715 | } | 736 | } |
177 | 716 | 737 | ||
179 | 717 | # If we were applying an incremental change set, we need to make sure the xtrabackup_slave_info is still correct | 738 | # If we were applying an incremental change set, we need to make |
180 | 739 | # sure non-InnoDB files and xtrabackup_* metainfo files are copied | ||
181 | 740 | # to the full backup directory. | ||
182 | 718 | if ( $option_incremental_dir ) { | 741 | if ( $option_incremental_dir ) { |
195 | 719 | 742 | print STDERR "$prefix Starting to copy non-InnoDB files in '$option_incremental_dir'\n"; | |
196 | 720 | # If the latest backup has this file, then update the target dir with the new file | 743 | print STDERR "$prefix to the full backup directory '$backup_dir'\n"; |
197 | 721 | if ( -e "$option_incremental_dir/xtrabackup_slave_info" ) { | 744 | copy_dir_recursively($option_incremental_dir, $backup_dir, |
198 | 722 | print STDERR "\n$now $prefix Updating xtrabackup_slave_info with new slave position info..."; | 745 | '^(\.\.?|backup-my\.cnf|xtrabackup_logfile|' . |
199 | 723 | $cmdline = "cp $option_incremental_dir/xtrabackup_slave_info $backup_dir/xtrabackup_slave_info"; | 746 | 'xtrabackup_binary|xtrabackup_checkpoints|' . |
200 | 724 | $rcode = system("$cmdline"); | 747 | '.*\.delta|.*\.meta|ib_logfile.*)$', 1); |
201 | 725 | if ($rcode) { | 748 | # If the latest backup has no file, we need to remove the old |
202 | 726 | # failure | 749 | # xtrabackup_slave_info file, because it is out of date |
203 | 727 | Die "\n$prefix Failed to update xtrabackup_slave_info in $backup_dir"; | 750 | # TODO: this will not be needed when bug #856400 is fixed. |
204 | 728 | } | 751 | if ( -e "$backup_dir/xtrabackup_slave_info" ) { |
193 | 729 | # If the latest backup has no file, we need to remove the old xtrabackup_slave_info file, because it is out of date | ||
194 | 730 | } elsif ( -e "$backup_dir/xtrabackup_slave_info" ) { | ||
205 | 731 | print STDERR "\n$now $prefix No updated xtrabackup_slave_info found in incremental dir, removing stale xtrabackup_slave_info file from target dir."; | 752 | print STDERR "\n$now $prefix No updated xtrabackup_slave_info found in incremental dir, removing stale xtrabackup_slave_info file from target dir."; |
206 | 732 | $cmdline = "rm $backup_dir/xtrabackup_slave_info"; | 753 | $cmdline = "rm $backup_dir/xtrabackup_slave_info"; |
207 | 733 | $rcode = system("$cmdline"); | 754 | $rcode = system("$cmdline"); |
208 | 734 | 755 | ||
209 | === modified file 'test/t/bug723097.sh' | |||
210 | --- test/t/bug723097.sh 2011-09-14 17:41:10 +0000 | |||
211 | +++ test/t/bug723097.sh 2011-12-21 18:48:30 +0000 | |||
212 | @@ -27,7 +27,7 @@ | |||
213 | 27 | checksum_b=`checksum_table test messages` | 27 | checksum_b=`checksum_table test messages` |
214 | 28 | vlog "Checksum after is $checksum_b" | 28 | vlog "Checksum after is $checksum_b" |
215 | 29 | 29 | ||
217 | 30 | if [ $checksum_a -eq $checksum_b ] | 30 | if [ "$checksum_a" -eq "$checksum_b" ] |
218 | 31 | then | 31 | then |
219 | 32 | vlog "Checksums are Ok" | 32 | vlog "Checksums are Ok" |
220 | 33 | else | 33 | else |
221 | 34 | 34 | ||
222 | === added file 'test/t/bug759701.sh' | |||
223 | --- test/t/bug759701.sh 1970-01-01 00:00:00 +0000 | |||
224 | +++ test/t/bug759701.sh 2011-12-21 18:48:30 +0000 | |||
225 | @@ -0,0 +1,69 @@ | |||
226 | 1 | ########################################################################## | ||
227 | 2 | # Bug #759701: innobackupex does not copy non-InnoDB files when applying # | ||
228 | 3 | # incremental backups # | ||
229 | 4 | ########################################################################## | ||
230 | 5 | . inc/common.sh | ||
231 | 6 | |||
232 | 7 | init | ||
233 | 8 | run_mysqld --innodb_file_per_table | ||
234 | 9 | load_sakila | ||
235 | 10 | |||
236 | 11 | # Full backup | ||
237 | 12 | # backup root directory | ||
238 | 13 | vlog "Starting backup" | ||
239 | 14 | |||
240 | 15 | full_backup_dir=$topdir/full_backup | ||
241 | 16 | innobackupex --no-timestamp $full_backup_dir | ||
242 | 17 | |||
243 | 18 | # Changing data | ||
244 | 19 | |||
245 | 20 | run_cmd $MYSQL $MYSQL_ARGS -e "CREATE DATABASE newdb" | ||
246 | 21 | run_cmd $MYSQL $MYSQL_ARGS -e \ | ||
247 | 22 | "CREATE TABLE actor_copy ENGINE=MyISAM SELECT * FROM sakila.actor" newdb | ||
248 | 23 | |||
249 | 24 | # Saving the checksum of original table | ||
250 | 25 | checksum_a=`checksum_table newdb actor_copy` | ||
251 | 26 | test -n "$checksum_a" || die "Failed to checksum table actor_copy" | ||
252 | 27 | |||
253 | 28 | vlog "Making incremental backup" | ||
254 | 29 | |||
255 | 30 | # Incremental backup | ||
256 | 31 | inc_backup_dir=$topdir/incremental_backup | ||
257 | 32 | innobackupex --incremental --no-timestamp \ | ||
258 | 33 | --incremental-basedir=$full_backup_dir $inc_backup_dir | ||
259 | 34 | vlog "Incremental backup created in directory $inc_backup_dir" | ||
260 | 35 | |||
261 | 36 | vlog "Preparing backup" | ||
262 | 37 | innobackupex --apply-log --redo-only $full_backup_dir | ||
263 | 38 | vlog "Log applied to full backup" | ||
264 | 39 | |||
265 | 40 | innobackupex --apply-log --redo-only --incremental-dir=$inc_backup_dir \ | ||
266 | 41 | $full_backup_dir | ||
267 | 42 | vlog "Delta applied to full backup" | ||
268 | 43 | |||
269 | 44 | innobackupex --apply-log $full_backup_dir | ||
270 | 45 | vlog "Data prepared for restore" | ||
271 | 46 | |||
272 | 47 | # Destroying mysql data | ||
273 | 48 | stop_mysqld | ||
274 | 49 | rm -rf $mysql_datadir/* | ||
275 | 50 | vlog "Data destroyed" | ||
276 | 51 | |||
277 | 52 | # Restore backup | ||
278 | 53 | vlog "Copying files to their original locations" | ||
279 | 54 | innobackupex --copy-back $full_backup_dir | ||
280 | 55 | vlog "Data restored" | ||
281 | 56 | |||
282 | 57 | run_mysqld --innodb_file_per_table | ||
283 | 58 | |||
284 | 59 | vlog "Checking checksums" | ||
285 | 60 | checksum_b=`checksum_table newdb actor_copy` | ||
286 | 61 | |||
287 | 62 | vlog "Old checksum: $checksum_a" | ||
288 | 63 | vlog "New checksum: $checksum_b" | ||
289 | 64 | |||
290 | 65 | if [ "$checksum_a" != "$checksum_b" ] | ||
291 | 66 | then | ||
292 | 67 | vlog "Checksums do not match" | ||
293 | 68 | exit -1 | ||
294 | 69 | fi | ||
295 | 0 | 70 | ||
296 | === modified file 'test/t/ib_incremental.sh' | |||
297 | --- test/t/ib_incremental.sh 2011-09-14 17:41:10 +0000 | |||
298 | +++ test/t/ib_incremental.sh 2011-12-21 18:48:30 +0000 | |||
299 | @@ -89,7 +89,7 @@ | |||
300 | 89 | vlog "Checking checksums" | 89 | vlog "Checking checksums" |
301 | 90 | checksum_b=`checksum_table incremental_sample test` | 90 | checksum_b=`checksum_table incremental_sample test` |
302 | 91 | 91 | ||
304 | 92 | if [ $checksum_a -ne $checksum_b ] | 92 | if [ "$checksum_a" != "$checksum_b" ] |
305 | 93 | then | 93 | then |
306 | 94 | vlog "Checksums are not equal" | 94 | vlog "Checksums are not equal" |
307 | 95 | exit -1 | 95 | exit -1 |
308 | 96 | 96 | ||
309 | === modified file 'test/t/xb_export.sh' | |||
310 | --- test/t/xb_export.sh 2011-09-14 17:41:10 +0000 | |||
311 | +++ test/t/xb_export.sh 2011-12-21 18:48:30 +0000 | |||
312 | @@ -123,7 +123,7 @@ | |||
313 | 123 | checksum_3=`checksum_table incremental_sample test` | 123 | checksum_3=`checksum_table incremental_sample test` |
314 | 124 | vlog "checksum_3 is $checksum_3" | 124 | vlog "checksum_3 is $checksum_3" |
315 | 125 | 125 | ||
317 | 126 | if [ "$checksum_3" != $checksum_2 ] | 126 | if [ "$checksum_3" != "$checksum_2" ] |
318 | 127 | then | 127 | then |
319 | 128 | vlog "Checksums are not equal" | 128 | vlog "Checksums are not equal" |
320 | 129 | exit -1 | 129 | exit -1 |
321 | 130 | 130 | ||
322 | === modified file 'test/t/xb_incremental.sh' | |||
323 | --- test/t/xb_incremental.sh 2011-09-14 17:41:10 +0000 | |||
324 | +++ test/t/xb_incremental.sh 2011-12-21 18:48:30 +0000 | |||
325 | @@ -85,7 +85,7 @@ | |||
326 | 85 | vlog "Checking checksums" | 85 | vlog "Checking checksums" |
327 | 86 | checksum_b=`checksum_table incremental_sample test` | 86 | checksum_b=`checksum_table incremental_sample test` |
328 | 87 | 87 | ||
330 | 88 | if [ $checksum_a -ne $checksum_b ] | 88 | if [ "$checksum_a" != "$checksum_b" ] |
331 | 89 | then | 89 | then |
332 | 90 | vlog "Checksums are not equal" | 90 | vlog "Checksums are not equal" |
333 | 91 | exit -1 | 91 | exit -1 |
334 | 92 | 92 | ||
335 | === modified file 'test/t/xb_incremental_compressed.sh' | |||
336 | --- test/t/xb_incremental_compressed.sh 2011-09-14 17:41:10 +0000 | |||
337 | +++ test/t/xb_incremental_compressed.sh 2011-12-21 18:48:30 +0000 | |||
338 | @@ -149,7 +149,7 @@ | |||
339 | 149 | vlog "Cheking checksums" | 149 | vlog "Cheking checksums" |
340 | 150 | checksum_b=`checksum_table incremental_sample test` | 150 | checksum_b=`checksum_table incremental_sample test` |
341 | 151 | 151 | ||
343 | 152 | if [ $checksum_a -ne $checksum_b ] | 152 | if [ "$checksum_a" != "$checksum_b" ] |
344 | 153 | then | 153 | then |
345 | 154 | vlog "Checksums are not equal" | 154 | vlog "Checksums are not equal" |
346 | 155 | exit -1 | 155 | exit -1 |
347 | 156 | 156 | ||
348 | === modified file 'test/t/xb_part_range.sh' | |||
349 | --- test/t/xb_part_range.sh 2011-09-14 17:41:10 +0000 | |||
350 | +++ test/t/xb_part_range.sh 2011-12-21 18:48:30 +0000 | |||
351 | @@ -104,7 +104,7 @@ | |||
352 | 104 | vlog "Cheking checksums" | 104 | vlog "Cheking checksums" |
353 | 105 | checksum_b=`checksum_table test test` | 105 | checksum_b=`checksum_table test test` |
354 | 106 | 106 | ||
356 | 107 | if [ $checksum_a -ne $checksum_b ] | 107 | if [ "$checksum_a" != "$checksum_b" ] |
357 | 108 | then | 108 | then |
358 | 109 | vlog "Checksums are not equal" | 109 | vlog "Checksums are not equal" |
359 | 110 | exit -1 | 110 | exit -1 |
360 | 111 | 111 | ||
361 | === modified file 'test/t/xb_partial.sh' | |||
362 | --- test/t/xb_partial.sh 2011-09-14 17:41:10 +0000 | |||
363 | +++ test/t/xb_partial.sh 2011-12-21 18:48:30 +0000 | |||
364 | @@ -44,7 +44,7 @@ | |||
365 | 44 | vlog "Checking checksums" | 44 | vlog "Checking checksums" |
366 | 45 | checksum_b=`checksum_table incremental_sample test` | 45 | checksum_b=`checksum_table incremental_sample test` |
367 | 46 | 46 | ||
369 | 47 | if [ $checksum_a -ne $checksum_b ] | 47 | if [ "$checksum_a" != "$checksum_b" ] |
370 | 48 | then | 48 | then |
371 | 49 | vlog "Checksums are not equal" | 49 | vlog "Checksums are not equal" |
372 | 50 | exit -1 | 50 | exit -1 |
http:// jenkins. percona. com/view/ Percona% 20Xtrabackup/ job/percona- xtrabackup- param/101/