67 lines
2.4 KiB
Plaintext
67 lines
2.4 KiB
Plaintext
--source include/have_ndb.inc
|
|
--source have_ndb_error_insert.inc
|
|
--source suite/ndb/include/backup_restore_setup.inc
|
|
|
|
create table all_data (id int primary key, val int) engine=ndb;
|
|
create table part_data (id int primary key, val int) engine=ndb;
|
|
create table all_logs (txt varchar(512)) engine=ndb;
|
|
create table part_logs (txt varchar(512)) engine=ndb;
|
|
create table txt (a varchar(512)) engine=ndb;
|
|
|
|
insert into part_data values (1,1), (2,2), (3,3), (4,4), (5,5), (6,6), (7,7), (8,8);
|
|
|
|
--exec $NDB_MGM --no-defaults --verbose=0 --ndb-connectstring="$NDB_CONNECTSTRING" -e "all error 10039"
|
|
--source suite/ndb/t/ndb_backup_nowait_start.inc
|
|
|
|
update part_data set val = 0;
|
|
|
|
--exec $NDB_MGM --no-defaults --verbose=0 --ndb-connectstring="$NDB_CONNECTSTRING" -e "all error 0"
|
|
--source suite/ndb/t/ndb_backup_nowait_wait.inc
|
|
|
|
delete from part_data;
|
|
let $node = 2;
|
|
|
|
while ($node)
|
|
{
|
|
let $part = 4;
|
|
while ($part)
|
|
{
|
|
--echo Restore data of part $part on node $node
|
|
--exec $NDB_RESTORE -b $the_backup_id -n $node -r $NDB_BACKUPS-$the_backup_id/BACKUP-$the_backup_id-PART-$part-OF-4 >> $NDB_TOOLS_OUTPUT 2>&1
|
|
--echo Check that part data does not overlap with already restored data
|
|
select count(*) from part_data join all_data where part_data.id = all_data.id;
|
|
|
|
--echo Capture backup logs of part $part on node $node
|
|
--disable_query_log
|
|
--let $outfile = $MYSQLTEST_VARDIR/tmp/ndb_backup_log.txt
|
|
--exec $NDB_RESTORE -b $the_backup_id -n $node --print-log $NDB_BACKUPS-$the_backup_id/BACKUP-$the_backup_id-PART-$part-OF-4 > $outfile 2>&1
|
|
truncate table txt;
|
|
eval load data infile '$outfile' into table txt fields terminated by '\n';
|
|
--remove_file $outfile
|
|
update txt set a = TRIM(TRAILING "\r" FROM a);
|
|
insert into part_logs select * from txt where (a like 'INSERT %') or (a like 'UPDATE %') or (a like 'DELETE %');
|
|
--enable_query_log
|
|
|
|
--echo Check that part logs do not overlap with logs from other parts
|
|
select count(*) from part_logs join all_logs where part_logs.txt = all_logs.txt;
|
|
|
|
--disable_query_log
|
|
insert into all_data select * from part_data;
|
|
insert into all_logs select * from part_logs;
|
|
delete from part_data;
|
|
delete from part_logs;
|
|
--enable_query_log
|
|
dec $part;
|
|
}
|
|
dec $node;
|
|
}
|
|
|
|
drop table txt;
|
|
drop table part_data;
|
|
drop table part_logs;
|
|
drop table all_data;
|
|
drop table all_logs;
|
|
|
|
--source suite/ndb/include/backup_restore_cleanup.inc
|
|
--remove_file $NDB_TOOLS_OUTPUT
|