Assertion error in creating a compressed tablespace at delta apply time
Bug #1028949 reported by
Laurynas Biveinis
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona XtraBackup moved to https://jira.percona.com/projects/PXB |
Fix Released
|
High
|
Laurynas Biveinis | ||
2.0 |
Fix Released
|
High
|
Laurynas Biveinis | ||
2.1 |
Fix Released
|
High
|
Laurynas Biveinis |
Bug Description
With bug 932623 fix merged, when attempting to do $SUBJECT:
InnoDB: Assertion failure in thread 140274276632320 in file fil/fil0fil.c line 1136
InnoDB: Failing assertion: !(flags & (~0UL << DICT_TF_BITS))
Will provide a testcase soon.
Related branches
lp:~laurynas-biveinis/percona-xtrabackup/bug1028949-2.0
- Percona core: Pending requested
-
Diff: 1160 lines (+818/-115)5 files modifiedpatches/innodb51_builtin.patch (+67/-4)
src/xtrabackup.c (+463/-111)
test/t/bug1022562.sh (+93/-0)
test/t/bug1028949.sh (+110/-0)
test/t/bug932623.sh (+85/-0)
lp:~laurynas-biveinis/percona-xtrabackup/bug1028949-2.1
- Laurynas Biveinis (community): Approve
-
Diff: 153 lines (+129/-2)2 files modifiedsrc/xtrabackup.c (+19/-2)
test/t/bug1028949.sh (+110/-0)
description: | updated |
To post a comment you must log in.
XB testcase: (also needs bug 1022562 fix applied to fix another failure):
. inc/common.sh
mysqld_ additional_ args="- -innodb_ file_per_ table --innodb_ strict_ mode \ file_format= Barracuda"
--innodb_
start_server ${mysqld_ additional_ args}
load_dbase_schema incremental_sample
# Full backup
# Full backup folder
rm -rf $topdir/data/full
mkdir -p $topdir/data/full
# Incremental data
rm -rf $topdir/data/delta
mkdir -p $topdir/data/delta
vlog "Starting backup"
xtrabackup --datadir= $mysql_ datadir --backup --target- dir=$topdir/ data/full \ additional_ args
$mysqld_
vlog "Full backup done"
# Changing data in sakila
vlog "Making changes to database"
${MYSQL} ${MYSQL_ARGS} -e "CREATE TABLE t2 (a INT(11) DEFAULT NULL, \ compressed KEY_BLOCK_SIZE=1" incremental_sample
number INT(11) DEFAULT NULL) ENGINE=INNODB\
ROW_FORMAT=
${MYSQL} ${MYSQL_ARGS} -e "INSERT INTO t2 VALUES (1, 1)" incremental_sample
vlog "Changes done"
# Saving the checksum of original table t2_a=`checksum_ table incremental_sample t2`
checksum_
vlog "Table 't2' checksum is $checksum_t2_a"
vlog "Making incremental backup"
# Incremental backup $mysql_ datadir --backup \ dir=$topdir/ data/delta --incremental- basedir= $topdir/ data/full \ additional_ args
xtrabackup --datadir=
--target-
$mysqld_
vlog "Incremental backup done"
vlog "Preparing backup"
# Prepare backup $mysql_ datadir --prepare --apply-log-only \ dir=$topdir/ data/full $mysqld_ additional_ args
xtrabackup --datadir=
--target-
vlog "Log applied to backup"
xtrabackup --datadir= $mysql_ datadir --prepare --apply-log-only \ dir=$topdir/ data/full --incremental- dir=$topdir/ data/delta \ additional_ args
--target-
$mysqld_
vlog "Delta applied to backup"
xtrabackup --datadir= $mysql_ datadir --prepare --target- dir=$topdir/ data/full \ additional_ args
$mysqld_
vlog "Data prepared for restore"
# removing rows
${MYSQL} ${MYSQL_ARGS} -e "delete from t2;" incremental_sample
vlog "Table cleared"
# Restore backup
stop_server
vlog "Copying files"
cd $topdir/data/full/
cp -r * $mysql_datadir
cd -
vlog "Data restored"
start_server ${mysqld_ additional_ args}
vlog "Checking checksums" t2_b=`checksum_ table incremental_sample t2`
checksum_
if [ "$checksum_t2_a" != "$checksum_t2_b" ]
then
vlog "Checksums of table 't2' are not equal"
exit -1
fi
vlog "Checksums are OK"
stop_server