Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1.22, 10.1.25, 10.2.7
-
None
-
10.2.10, 10.1.29
Description
Observed new xtrabackup crash during prepare in bb-10.1-wlad-xtrabackup after recent merge (I have strong consideration that it didn't crash in source code from ~December).
InnoDB: Tablespaces for test/test#P#p2 have been found in two places;
|
Location 1: SpaceID: 6 LSN: 0 File: ./test/test#P#p2.ibd
|
Location 2: SpaceID: 6 LSN: 0 File: /home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/mysql-test/var/partitdata/test/test#P#p2.ibd
|
You must delete one of them.
|
170222 9:24:34 [ERROR] mysqld got signal 6 ;
|
...
|
/home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/extra/xtrabackup/xtrabackup(my_print_stacktrace+0x29)[0x55f6d8034149]
|
/home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/extra/xtrabackup/xtrabackup(handle_fatal_signal+0x3ad)[0x55f6d7c1cfed]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11630)[0x7fc71f7e6630]
|
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x9f)[0x7fc71dc767ef]
|
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7fc71dc783ea]
|
/home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/extra/xtrabackup/xtrabackup(+0x847204)[0x55f6d7eb7204]
|
/home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/extra/xtrabackup/xtrabackup(+0x8ce1b4)[0x55f6d7f3e1b4]
|
mysys/stacktrace.c:268(my_print_stacktrace)[0x55f6d7f42d11]
|
sql/signal_handler.cc:168(handle_fatal_signal)[0x55f6d7f437a4]
|
log/log0recv.cc:3088(recv_init_crash_recovery())[0x55f6d7f43e9a]
|
srv/srv0start.cc:2529(innobase_start_or_create_for_mysql())[0x55f6d7fbf3f6]
|
xtrabackup/xtrabackup.cc:1842(innodb_init())[0x55f6d79d857d]
|
xtrabackup/xtrabackup.cc:6336(xtrabackup_prepare_func)[0x55f6d79e4ffc]
|
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7fc71dc613f1]
|
/home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/extra/xtrabackup/xtrabackup(_start+0x2a)[0x55f6d79f893a]
|
Please note that indeed .ibd file exists in both places, just it is probably valid situation as one of places is actual original .ibd referenced by .isl inside backup:
$ find ~/farm/m9-bb-10.1-wlad-xtrabackup/build/mysql-test/var/ | grep p2.i
|
/home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/mysql-test/var/log/xtrabackup.partition_data_external/mysqld.1/data/test/test#P#p2.isl
|
/home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/mysql-test/var/backup/test/test#P#p2.ibd
|
/home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/mysql-test/var/backup/test/test#P#p2.isl
|
/home/a/farm/m9-bb-10.1-wlad-xtrabackup/build/mysql-test/var/partitdata/test/test#P#p2.ibd
|
Test case run with :
perl mysql-test-run.pl --mysqld="--partition" partition_data_external.test
|
$ cat ../mysql-test/suite/xtrabackup/partition_data_external.test
|
let $targetdir=$MYSQLTEST_VARDIR/backup;
|
mkdir $targetdir;
|
mkdir $MYSQLTEST_VARDIR/partitdata;
|
eval CREATE TABLE test (
|
a int(11) DEFAULT NULL
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
PARTITION BY RANGE (a)
|
(PARTITION p0 VALUES LESS THAN (100),
|
PARTITION P1 VALUES LESS THAN (200),
|
PARTITION p2 VALUES LESS THAN (300)
|
DATA DIRECTORY = "$MYSQLTEST_VARDIR/partitdata",
|
PARTITION p3 VALUES LESS THAN (400)
|
DATA DIRECTORY = "$MYSQLTEST_VARDIR/partitdata",
|
PARTITION p4 VALUES LESS THAN MAXVALUE);
|
INSERT INTO test VALUES (1), (101), (201), (301), (401);
|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
|
exec $XTRABACKUP --prepare --target-dir=$targetdir;
|
DROP TABLE t;
|
rmdir $targetdir;
|
rmdir $MYSQLTEST_VARDIR/partitdata;
|