Merge lp:~hrvojem/percona-xtrabackup/rn-2.3.0-alpha1-2.2 into lp:percona-xtrabackup/2.3

Proposed by Alexey Kopytov
Status: Rejected
Rejected by: Alexey Kopytov
Proposed branch: lp:~hrvojem/percona-xtrabackup/rn-2.3.0-alpha1-2.2
Merge into: lp:percona-xtrabackup/2.3
Diff against target: 576 lines (+326/-23)
15 files modified
storage/innobase/xtrabackup/doc/source/conf.py (+2/-0)
storage/innobase/xtrabackup/doc/source/installation/apt_repo.rst (+2/-2)
storage/innobase/xtrabackup/doc/source/manual.rst (+4/-0)
storage/innobase/xtrabackup/doc/source/release-notes.rst (+11/-0)
storage/innobase/xtrabackup/doc/source/release-notes/2.2/2.2.1-alpha1.rst (+1/-1)
storage/innobase/xtrabackup/doc/source/release-notes/2.2/2.2.2-beta1.rst (+1/-1)
storage/innobase/xtrabackup/doc/source/release-notes/2.3/2.3.0-alpha1.rst (+16/-0)
storage/innobase/xtrabackup/doc/source/xbcloud/xbcloud.rst (+87/-0)
storage/innobase/xtrabackup/innobackupex.pl (+53/-13)
storage/innobase/xtrabackup/src/xtrabackup.cc (+2/-0)
storage/innobase/xtrabackup/test/bootstrap.sh (+6/-6)
storage/innobase/xtrabackup/test/t/bug1372679.sh (+54/-0)
storage/innobase/xtrabackup/test/t/bug1382347.sh (+39/-0)
storage/innobase/xtrabackup/test/t/bug369913.sh (+15/-0)
storage/innobase/xtrabackup/test/t/innodb_data_home_dir.sh (+33/-0)
To merge this branch: bzr merge lp:~hrvojem/percona-xtrabackup/rn-2.3.0-alpha1-2.2
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) Needs Resubmitting
Review via email: mp+240708@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Alexey Kopytov (akopytov) wrote :

Hrvoje,

Please rebase this on the current PXB trunk (which is now based on 2.3) and resubmit to exclude unrelated revisions.

review: Needs Resubmitting

Unmerged revisions

5042. By Hrvoje Matijakovic

-xbcloud documentation, 2.3.0-alpha1 release notes

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'storage/innobase/xtrabackup/doc/source/conf.py'
2--- storage/innobase/xtrabackup/doc/source/conf.py 2014-09-30 09:43:35 +0000
3+++ storage/innobase/xtrabackup/doc/source/conf.py 2014-11-05 11:10:08 +0000
4@@ -122,6 +122,8 @@
5
6 .. |MariaDB| replace:: *MariaDB*
7
8+.. |xbcloud| replace:: *xbcloud*
9+
10 .. |tar4ibd| replace:: :program:`tar4ibd`
11
12 .. |tar| replace:: :program:`tar`
13
14=== modified file 'storage/innobase/xtrabackup/doc/source/installation/apt_repo.rst'
15--- storage/innobase/xtrabackup/doc/source/installation/apt_repo.rst 2014-09-25 16:10:20 +0000
16+++ storage/innobase/xtrabackup/doc/source/installation/apt_repo.rst 2014-11-05 11:10:08 +0000
17@@ -37,10 +37,10 @@
18
19 * 10.04LTS (lucid)
20 * 12.04LTS (precise)
21- * 13.10 (saucy)
22 * 14.04LTS (trusty)
23+ * 14.10 (utopic)
24
25-.. _debian_experimental:
26+.. _debian_testing:
27
28 Percona `apt` Testing repository
29 =================================
30
31=== modified file 'storage/innobase/xtrabackup/doc/source/manual.rst'
32--- storage/innobase/xtrabackup/doc/source/manual.rst 2013-08-30 09:55:04 +0000
33+++ storage/innobase/xtrabackup/doc/source/manual.rst 2014-11-05 11:10:08 +0000
34@@ -12,6 +12,7 @@
35 xtrabackup_bin/xtrabackup_binary
36 xbstream/xbstream
37 xbcrypt/xbcrypt
38+ xbcloud/xbcloud
39 how_xtrabackup_works
40
41 |Percona XtraBackup| is a set of following tools:
42@@ -28,4 +29,7 @@
43 :doc:`xbstream <xbstream/xbstream>`
44 utility that allows streaming and extracting files to/from the :term:`xbstream` format.
45
46+:doc:`xbcloud <xbcloud/xbcloud>`
47+ utility used for downloading and uploading full or part of |xbstream| archive from/to cloud.
48+
49 It is possible to use the |xtrabackup| binary alone, however, the recommend way is using it through the |innobackupex| wrapper script and let it execute |xtrabackup| for you. It might be helpful to first learn :doc:`how to use innobackupex <innobackupex/innobackupex_script>`, and then learn :doc:`how to use xtrabackup <xtrabackup_bin/xtrabackup_binary>` for having a better low-level understanding or control of the tool if needed.
50
51=== modified file 'storage/innobase/xtrabackup/doc/source/release-notes.rst'
52--- storage/innobase/xtrabackup/doc/source/release-notes.rst 2014-03-26 07:39:36 +0000
53+++ storage/innobase/xtrabackup/doc/source/release-notes.rst 2014-11-05 11:10:08 +0000
54@@ -48,3 +48,14 @@
55 :glob:
56
57 release-notes/2.2/*
58+
59+Percona |XtraBackup| 2.3
60+=========================
61+
62+.. toctree::
63+ :maxdepth: 1
64+ :glob:
65+
66+ release-notes/2.3/*
67+
68+
69
70=== modified file 'storage/innobase/xtrabackup/doc/source/release-notes/2.2/2.2.1-alpha1.rst'
71--- storage/innobase/xtrabackup/doc/source/release-notes/2.2/2.2.1-alpha1.rst 2014-03-28 11:46:09 +0000
72+++ storage/innobase/xtrabackup/doc/source/release-notes/2.2/2.2.1-alpha1.rst 2014-11-05 11:10:08 +0000
73@@ -2,7 +2,7 @@
74 |Percona XtraBackup| 2.2.1-alpha1
75 =======================================
76
77-Percona is glad to announce the release of |Percona XtraBackup| 2.2.1-alpha1 on March 28th 2014. Downloads are available from our download site `here <http://www.percona.com/downloads/XtraBackup/2.2.1/>`_. This **ALPHA** release, will be available in :ref:`Debian experimental <debian_experimental>` and :ref:`CentOS testing <yum_testing>` repositories.
78+Percona is glad to announce the release of |Percona XtraBackup| 2.2.1-alpha1 on March 28th 2014. Downloads are available from our download site `here <http://www.percona.com/downloads/XtraBackup/2.2.1/>`_. This **ALPHA** release, will be available in :ref:`Debian testing <debian_testing>` and :ref:`CentOS testing <yum_testing>` repositories.
79
80 This is an **ALPHA** quality release and it is not intended for production. If you want a high quality, Generally Available release, the current Stable version should be used (currently 2.1.8 in the 2.1 series at the time of writing).
81
82
83=== modified file 'storage/innobase/xtrabackup/doc/source/release-notes/2.2/2.2.2-beta1.rst'
84--- storage/innobase/xtrabackup/doc/source/release-notes/2.2/2.2.2-beta1.rst 2014-05-06 17:08:06 +0000
85+++ storage/innobase/xtrabackup/doc/source/release-notes/2.2/2.2.2-beta1.rst 2014-11-05 11:10:08 +0000
86@@ -2,7 +2,7 @@
87 |Percona XtraBackup| 2.2.2-beta1
88 =======================================
89
90-Percona is glad to announce the release of |Percona XtraBackup| 2.2.2-beta1 on May 8th 2014. Downloads are available from our download site `here <http://www.percona.com/downloads/XtraBackup/2.2.2/>`_. This **BETA** release will be available in :ref:`Debian experimental <debian_experimental>` and :ref:`CentOS testing <yum_testing>` repositories.
91+Percona is glad to announce the release of |Percona XtraBackup| 2.2.2-beta1 on May 8th 2014. Downloads are available from our download site `here <http://www.percona.com/downloads/XtraBackup/2.2.2/>`_. This **BETA** release will be available in :ref:`Debian testing <debian_testing>` and :ref:`CentOS testing <yum_testing>` repositories.
92
93 This is a **BETA** quality release and it is not intended for production. If you want a high quality, Generally Available release, the current Stable version should be used (currently 2.1.9 in the 2.1 series at the time of writing).
94
95
96=== added directory 'storage/innobase/xtrabackup/doc/source/release-notes/2.3'
97=== added file 'storage/innobase/xtrabackup/doc/source/release-notes/2.3/2.3.0-alpha1.rst'
98--- storage/innobase/xtrabackup/doc/source/release-notes/2.3/2.3.0-alpha1.rst 1970-01-01 00:00:00 +0000
99+++ storage/innobase/xtrabackup/doc/source/release-notes/2.3/2.3.0-alpha1.rst 2014-11-05 11:10:08 +0000
100@@ -0,0 +1,16 @@
101+===================================
102+ |Percona XtraBackup| 2.3.0-alpha1
103+===================================
104+
105+Percona is glad to announce the release of |Percona XtraBackup| 2.3.0-alpha1 on October 30th 2014. Downloads are available from our download site `here <http://www.percona.com/downloads/TESTING/XtraBackup/xtrabackup-2.3.0alpha1/>`_. This **ALPHA** release, will be available in :ref:`Debian testing <debian_testing>` and :ref:`CentOS testing <yum_testing>` repositories.
106+
107+This is an **ALPHA** quality release and it is not intended for production. If you want a high quality, Generally Available release, the current Stable version should be used (currently 2.2.5 in the 2.2 series at the time of writing).
108+
109+New features
110+------------
111+
112+ |Percona XtraBackup| has implemented new tool, :ref:`xbcloud_binary`, which can be used to upload/download full or part of |xbstream| archive from/to cloud.
113+
114+.. note::
115+
116+ In order to sucessfully install Percona Xtrabackup 2.3.0-alpha1 on *CentOS*, ``libev.so.4`` package will need to be installed first. ``libev.so.4`` package can be installed from the `EPEL <https://fedoraproject.org/wiki/EPEL>`_ repositories.
117
118=== added directory 'storage/innobase/xtrabackup/doc/source/xbcloud'
119=== added file 'storage/innobase/xtrabackup/doc/source/xbcloud/xbcloud.rst'
120--- storage/innobase/xtrabackup/doc/source/xbcloud/xbcloud.rst 1970-01-01 00:00:00 +0000
121+++ storage/innobase/xtrabackup/doc/source/xbcloud/xbcloud.rst 2014-11-05 11:10:08 +0000
122@@ -0,0 +1,87 @@
123+.. _xbcloud_binary:
124+
125+======================
126+ The xbcloud Binary
127+======================
128+
129+.. note::
130+
131+ This feature implementation is considered **ALPHA** quality.
132+
133+|xbcloud| is a new tool which is part of the |Percona XtraBackup| 2.3.0-alpha1 release. The purpose of |xbcloud| is to download and upload full or part of |xbstream| archive from/to cloud. Archive uploading will employ multipart upload for Amazon and Large Objects on Swift. Along with |xbstream| archive index file will be uploaded which contains list of files and their parts and offsets of those parts in the |xbstream| archive. This index is needed for downloading only part of archive (one or several tables from backups) on demand.
134+
135+Usage
136+-----
137+
138+Backup: ::
139+
140+ innobackupex --stream=xbstream /tmp | xbcloud [options] put <name>
141+
142+Following example shows how to make a full backup and upload it to Swift: ::
143+
144+ innobackupex --stream=xbstream --extra-lsndir=/tmp /tmp | \
145+ xbcloud put --storage=Swift \
146+ --swift-container=test \
147+ --swift-user=test:tester \
148+ --swift-url=http://192.168.8.80:8080/ \
149+ --swift-key=testing \
150+ --parallel=10 \
151+ full_backup
152+
153+Restore: ::
154+
155+ xbcloud [options] get <name> [<list-of-files>] | xbstream -x
156+
157+Following example shows how to fetch and restore the backup from Swift: ::
158+
159+ xbcloud get --storage=Swift \
160+ --swift-container=test \
161+ --swift-user=test:tester \
162+ --swift-url=http://192.168.8.80:8080/ \
163+ --swift-key=testing \
164+ full_backup | xbstream -xv -C /tmp/downloaded_full
165+
166+ innobackupex --apply-log /tmp/downloaded_full
167+ innobackupex --copy-back /tmp/downloaded_full
168+
169+Limitations
170+-----------
171+
172+Restoring individual tables from full cloud backup isn't possible without downloading the entire backup.
173+
174+Command-line options
175+--------------------
176+
177+|xbcloud| has following command line options:
178+
179+.. option:: --storage
180+
181+ Cloud storage option. Only support for Swift is currently implemented. Default is Swift
182+
183+.. option:: --swift-url
184+
185+ URL of Swift cluster
186+
187+.. option:: --swift-user
188+
189+ Swift username (X-Auth-User, specific to Swift)
190+
191+.. option:: --swift-key
192+
193+ Swift key/password (X-Auth-Key, specific to Swift)
194+
195+.. option:: --swift-container
196+
197+ Container to backup into (specific to Swift)
198+
199+.. option:: --parallel=N
200+
201+ Maximum number of concurrent upload/download threads. Default is 1.
202+
203+.. option:: --cacert
204+
205+ Path to the file with CA certificates
206+
207+.. option:: --insecure
208+
209+ Do not verify servers certificate
210
211=== modified file 'storage/innobase/xtrabackup/innobackupex.pl'
212--- storage/innobase/xtrabackup/innobackupex.pl 2014-10-08 16:13:58 +0000
213+++ storage/innobase/xtrabackup/innobackupex.pl 2014-11-05 11:10:08 +0000
214@@ -77,6 +77,8 @@
215 my $have_backup_locks = 0;
216 my $have_galera_enabled = 0;
217 my $have_flush_engine_logs = 0;
218+my $have_multi_threaded_slave = 0;
219+my $have_gtid_slave = 0;
220
221 # command line options
222 my $option_help = '';
223@@ -1904,6 +1906,15 @@
224
225 detect_mysql_capabilities_for_backup(\%mysql);
226
227+
228+ # Do not allow --slave-info with a multi-threded non-GTID slave,
229+ # see https://bugs.launchpad.net/percona-xtrabackup/+bug/1372679
230+ if ($option_slave_info and $have_multi_threaded_slave
231+ and !$have_gtid_slave) {
232+ die "The --slave-info option requires GTID enabled for a " .
233+ "multi-threaded slave."
234+ }
235+
236 #
237 # if one of the history incrementals is being used, try to grab the
238 # innodb_to_lsn from the history table and set the option_incremental_lsn
239@@ -2138,21 +2149,26 @@
240 }
241
242 #
243-# Check if a given directory exists, or fail with an error otherwise
244+# Check if a given directory exists, or create one otherwise.
245 #
246
247 sub if_directory_exists {
248 my $empty_dir = shift;
249 my $is_directory_empty_comment = shift;
250 if (! -d $empty_dir) {
251- die "$is_directory_empty_comment directory '$empty_dir' does not exist!";
252+ eval { mkpath($empty_dir) };
253+ if ($@) {
254+ die "Can not create $is_directory_empty_comment directory " .
255+ "'$empty_dir': $@";
256+ }
257 }
258 }
259
260 #
261 # if_directory_exists_and_empty accepts two arguments:
262 # variable with directory name and comment.
263-# Sub checks that directory exists and is empty
264+# Sub checks that directory exists and is empty
265+# or creates one if it doesn't exists.
266 # usage: is_directory_exists_and_empty($directory,"Comment");
267 #
268
269@@ -2418,7 +2434,7 @@
270 my $orig_ibdata_dir = get_option_safe('innodb_data_home_dir',
271 $orig_datadir);
272 my $orig_innodb_data_file_path = get_option_safe('innodb_data_file_path',
273- '');
274+ 'ibdata1:10M:autoextend');
275 my $orig_iblog_dir = get_option_safe('innodb_log_group_home_dir',
276 $orig_datadir);
277 my $orig_undo_dir = get_option_safe('innodb_undo_directory',
278@@ -3583,6 +3599,11 @@
279 } else {
280 $run = 'apply-log';
281 }
282+
283+ my $now = current_time();
284+
285+ print STDERR "$now $prefix Starting the $run operation\n\n";
286+
287 print STDERR "IMPORTANT: Please check that the $run run completes successfully.\n";
288 print STDERR " At the end of a successful $run run $innobackup_script\n";
289 print STDERR " prints \"completed OK!\".\n\n";
290@@ -4917,20 +4938,26 @@
291 # Query the server to find out what backup capabilities it supports.
292 #
293 sub detect_mysql_capabilities_for_backup {
294+ my $con = shift;
295+
296 if ($option_incremental) {
297 $have_changed_page_bitmaps =
298- mysql_query($_[0], "SELECT COUNT(*) FROM " .
299+ mysql_query($con, "SELECT COUNT(*) FROM " .
300 "INFORMATION_SCHEMA.PLUGINS " .
301 "WHERE PLUGIN_NAME LIKE 'INNODB_CHANGED_PAGES'");
302 }
303
304- if (!defined($_[0]->{vars})) {
305- get_mysql_vars($_[0]);
306- }
307-
308- $have_backup_locks = defined($_[0]->{vars}->{have_backup_locks});
309-
310- $have_galera_enabled = defined($_[0]->{vars}->{wsrep_on});
311+ if (!defined($con->{vars})) {
312+ get_mysql_vars($con);
313+ }
314+
315+ if (!defined($con->{slave_status})) {
316+ get_mysql_slave_status($con);
317+ }
318+
319+ $have_backup_locks = defined($con->{vars}->{have_backup_locks});
320+
321+ $have_galera_enabled = defined($con->{vars}->{wsrep_on});
322
323 if ($option_galera_info && !$have_galera_enabled) {
324 my $now = current_time();
325@@ -4942,7 +4969,7 @@
326 $option_galera_info = 0;
327 }
328
329- if ($mysql{vars}->{version}->{Value} =~ m/5\.[123]\.\d/) {
330+ if ($con->{vars}->{version}->{Value} =~ m/5\.[123]\.\d/) {
331 my $now = current_time();
332
333 print STDERR "\n$now $prefix Warning: FLUSH ENGINE LOGS " .
334@@ -4954,6 +4981,19 @@
335 } else {
336 $have_flush_engine_logs = 1;
337 }
338+
339+ if (defined($con->{vars}->{slave_parallel_workers}) and
340+ ($con->{vars}->{slave_parallel_workers}->{Value} > 0)) {
341+ $have_multi_threaded_slave = 1;
342+ }
343+
344+ my $gtid_executed = $con->{slave_status}->{Executed_Gtid_Set};
345+ my $gtid_slave_pos = $con->{vars}->{gtid_slave_pos};
346+
347+ if ((defined($gtid_executed) and $gtid_executed ne '') or
348+ (defined($gtid_slave_pos) and $gtid_slave_pos ne '')) {
349+ $have_gtid_slave = 1;
350+ }
351 }
352
353 #
354
355=== modified file 'storage/innobase/xtrabackup/src/xtrabackup.cc'
356--- storage/innobase/xtrabackup/src/xtrabackup.cc 2014-10-08 18:33:23 +0000
357+++ storage/innobase/xtrabackup/src/xtrabackup.cc 2014-11-05 11:10:08 +0000
358@@ -2643,6 +2643,8 @@
359 srv_undo_tablespaces_init(), because fil_is_user_tablespace_id() *
360 relies on srv_undo_tablespaces_open to be properly initialized */
361
362+ msg("xtrabackup: Generating a list of tablespaces\n");
363+
364 err = fil_load_single_table_tablespaces(xb_check_if_open_tablespace);
365 if (err != DB_SUCCESS) {
366 return(err);
367
368=== modified file 'storage/innobase/xtrabackup/test/bootstrap.sh'
369--- storage/innobase/xtrabackup/test/bootstrap.sh 2014-08-20 08:14:37 +0000
370+++ storage/innobase/xtrabackup/test/bootstrap.sh 2014-11-05 11:10:08 +0000
371@@ -47,12 +47,12 @@
372
373 innodb55)
374 url="http://s3.amazonaws.com/percona.com/downloads/community"
375- tarball="mysql-5.5.36-linux2.6-$arch.tar.gz"
376+ tarball="mysql-5.5.40-linux2.6-$arch.tar.gz"
377 ;;
378
379 innodb56)
380 url="http://s3.amazonaws.com/percona.com/downloads/community"
381- tarball="mysql-5.6.16-linux-glibc2.5-$arch.tar.gz"
382+ tarball="mysql-5.6.21-linux-glibc2.5-$arch.tar.gz"
383 ;;
384
385 xtradb51)
386@@ -62,12 +62,12 @@
387
388 xtradb55)
389 url="http://s3.amazonaws.com/percona.com/downloads/community/yassl"
390- tarball="Percona-Server-5.5.38-rel35.2-691.Linux.$arch.tar.gz"
391+ tarball="Percona-Server-5.5.40-rel36.1-707.Linux.$arch.tar.gz"
392 ;;
393
394 xtradb56)
395 url="http://s3.amazonaws.com/percona.com/downloads/community/yassl"
396- tarball="Percona-Server-5.6.19-rel67.0-648.Linux.$arch.tar.gz"
397+ tarball="Percona-Server-5.6.21-rel69.0-675.Linux.$arch.tar.gz"
398 ;;
399
400 mariadb51)
401@@ -87,12 +87,12 @@
402
403 mariadb55)
404 url="http://s3.amazonaws.com/percona.com/downloads/community"
405- tarball="mariadb-5.5.32-linux-$arch.tar.gz"
406+ tarball="mariadb-5.5.40-linux-$arch.tar.gz"
407 ;;
408
409 mariadb100)
410 url="http://s3.amazonaws.com/percona.com/downloads/community"
411- tarball="mariadb-10.0.3-linux-$arch.tar.gz"
412+ tarball="mariadb-10.0.14-linux-$arch.tar.gz"
413 ;;
414
415 *)
416
417=== added file 'storage/innobase/xtrabackup/test/t/bug1372679.sh'
418--- storage/innobase/xtrabackup/test/t/bug1372679.sh 1970-01-01 00:00:00 +0000
419+++ storage/innobase/xtrabackup/test/t/bug1372679.sh 2014-11-05 11:10:08 +0000
420@@ -0,0 +1,54 @@
421+########################################################################
422+# Bug #1372679: innobackupex --slave-info doesn't handle
423+# slave_parallel_workers>0
424+########################################################################
425+
426+require_server_version_higher_than 5.6.0
427+
428+# Test that --slave-info with MTS enabled + GTID disabled fails
429+
430+MYSQLD_EXTRA_MY_CNF_OPTS="
431+slave_parallel_workers=2
432+"
433+master_id=1
434+slave_id=2
435+
436+start_server_with_id $master_id
437+
438+start_server_with_id $slave_id
439+
440+setup_slave $slave_id $master_id
441+
442+switch_server $slave_id
443+
444+innobackupex --no-timestamp --slave-info $topdir/backup 2>&1 |
445+ grep 'The --slave-info option requires GTID enabled for a multi-threaded slave' ||
446+ die "could not find the error message"
447+
448+if [[ ${PIPESTATUS[0]} == 0 ]]
449+then
450+ die "innobackupex did not fail as expected"
451+fi
452+
453+stop_server_with_id $master_id
454+stop_server_with_id $slave_id
455+
456+remove_var_dirs
457+
458+# Test that --slave-info with MTS enabled + GTID enabled works
459+
460+MYSQLD_EXTRA_MY_CNF_OPTS="
461+gtid_mode=on
462+log_slave_updates=on
463+enforce_gtid_consistency=on
464+slave_parallel_workers=2
465+"
466+
467+start_server_with_id $master_id
468+start_server_with_id $slave_id
469+
470+setup_slave $slave_id $master_id
471+
472+switch_server $slave_id
473+
474+innobackupex --no-timestamp --slave-info $topdir/backup
475
476=== added file 'storage/innobase/xtrabackup/test/t/bug1382347.sh'
477--- storage/innobase/xtrabackup/test/t/bug1382347.sh 1970-01-01 00:00:00 +0000
478+++ storage/innobase/xtrabackup/test/t/bug1382347.sh 2014-11-05 11:10:08 +0000
479@@ -0,0 +1,39 @@
480+###########################################################################
481+# Bug1382347: innobackupex should create server directories when copy back
482+# is performed
483+###########################################################################
484+
485+. inc/common.sh
486+
487+require_server_version_higher_than 5.6.0
488+
489+mkdir -p ${TEST_VAR_ROOT}/dir/{undo,data,logs}
490+
491+MYSQLD_EXTRA_MY_CNF_OPTS="
492+innodb_file_per_table=1
493+innodb_undo_directory=${TEST_VAR_ROOT}/dir/undo
494+innodb_undo_tablespaces=4
495+innodb_data_home_dir=${TEST_VAR_ROOT}/dir/data
496+innodb_log_group_home_dir=${TEST_VAR_ROOT}/dir/logs
497+"
498+
499+start_server
500+load_sakila
501+
502+checksum1=`checksum_table sakila payment`
503+test -n "$checksum1" || die "Failed to checksum table sakila.payment"
504+
505+innobackupex --no-timestamp $topdir/backup
506+
507+stop_server
508+
509+rm -rf $MYSQLD_DATADIR
510+rm -rf ${TEST_VAR_ROOT}/dir
511+
512+innobackupex --apply-log $topdir/backup
513+innobackupex --copy-back $topdir/backup
514+
515+start_server
516+
517+checksum2=`checksum_table sakila payment`
518+test -n "$checksum2" || die "Failed to checksum table sakila.payment"
519
520=== added file 'storage/innobase/xtrabackup/test/t/bug369913.sh'
521--- storage/innobase/xtrabackup/test/t/bug369913.sh 1970-01-01 00:00:00 +0000
522+++ storage/innobase/xtrabackup/test/t/bug369913.sh 2014-11-05 11:10:08 +0000
523@@ -0,0 +1,15 @@
524+#############################################################################
525+# Bug #369913: Feature Request: more verbose output during initial table scan
526+#############################################################################
527+
528+start_server
529+
530+innobackupex --no-timestamp $topdir/backup
531+
532+egrep -q \
533+ '[0-9]{6} [0-9]{2}:[0-9]{2}:[0-9]{2} .* Starting the backup operation' \
534+ $OUTFILE \
535+ || die "Could not find the operation start message"
536+
537+grep -q "xtrabackup: Generating a list of tablespaces" $OUTFILE \
538+ || die "Could not find \"Generating a list of tablespaces\" message"
539
540=== added file 'storage/innobase/xtrabackup/test/t/innodb_data_home_dir.sh'
541--- storage/innobase/xtrabackup/test/t/innodb_data_home_dir.sh 1970-01-01 00:00:00 +0000
542+++ storage/innobase/xtrabackup/test/t/innodb_data_home_dir.sh 2014-11-05 11:10:08 +0000
543@@ -0,0 +1,33 @@
544+##############################################################################
545+# Test innodb_data_file_dir support
546+##############################################################################
547+
548+. inc/common.sh
549+
550+mkdir -p ${TEST_VAR_ROOT}/dir/data
551+
552+MYSQLD_EXTRA_MY_CNF_OPTS="
553+innodb_file_per_table=1
554+innodb_data_home_dir=${TEST_VAR_ROOT}/dir/data
555+"
556+
557+start_server
558+load_sakila
559+
560+checksum1=`checksum_table sakila payment`
561+test -n "$checksum1" || die "Failed to checksum table sakila.payment"
562+
563+innobackupex --no-timestamp $topdir/backup
564+
565+stop_server
566+
567+rm -rf $MYSQLD_DATADIR/*
568+rm -rf ${TEST_VAR_ROOT}/dir/data/*
569+
570+innobackupex --apply-log $topdir/backup
571+innobackupex --copy-back $topdir/backup
572+
573+start_server
574+
575+checksum2=`checksum_table sakila payment`
576+test -n "$checksum2" || die "Failed to checksum table sakila.payment"

Subscribers

People subscribed via source and target branches