76 lines
2.2 KiB
Plaintext
76 lines
2.2 KiB
Plaintext
--source include/have_ndb.inc
|
|
--source have_ndb_error_insert.inc
|
|
-- source suite/ndb/include/backup_restore_setup.inc
|
|
|
|
create table t1(id int primary key, val blob) engine=ndb;
|
|
|
|
--disable_query_log
|
|
let $i= 100;
|
|
while ($i)
|
|
{
|
|
eval INSERT INTO t1 values ($i, REPEAT('$i', 1000));
|
|
dec $i;
|
|
}
|
|
--enable_query_log
|
|
|
|
--echo "Backup not started, ndbinfo should show zero backup buffer usage"
|
|
select count(*) from ndbinfo.logbuffers where log_type like "BACKUP%" and used > 0;
|
|
|
|
--exec $NDB_MGM -e "ALL ERROR 10039" >> $NDB_TOOLS_OUTPUT
|
|
--exec $NDB_MGM -e "start backup wait started" >> $NDB_TOOLS_OUTPUT
|
|
|
|
--echo "Backup started, ndbinfo should show backup buffer usage"
|
|
select count(*) from ndbinfo.logbuffers where log_type like "BACKUP%";
|
|
|
|
let $data_buf_usage_before =
|
|
`select used from ndbinfo.logbuffers
|
|
where node_id = 1 and log_type like 'BACKUP-DATA'`;
|
|
let $log_buf_usage_before =
|
|
`select used from ndbinfo.logbuffers
|
|
where node_id = 1 and log_type like 'BACKUP-LOG'`;
|
|
|
|
--echo "Backup data buffer and backup log buffer should not be empty"
|
|
if (!$data_buf_usage_before)
|
|
{
|
|
die The backup data buffer usage should not be zero;
|
|
}
|
|
if (!$log_buf_usage_before)
|
|
{
|
|
die The backup log buffer usage should not be zero;
|
|
}
|
|
|
|
update t1 set val = REPEAT('x', 1000) where id < 25;
|
|
|
|
let $log_buf_usage_after =
|
|
`select used from ndbinfo.logbuffers
|
|
where node_id = 1 and log_type like 'BACKUP-LOG'`;
|
|
|
|
--echo "Backup log buffer usage should increase due to UPDATE ops during backup"
|
|
if ($log_buf_usage_after == $log_buf_usage_before)
|
|
{
|
|
die The backup log buffer usage failed to increase when UPDATES were executed;
|
|
}
|
|
|
|
# Resume backup
|
|
--exec $NDB_MGM -e "ALL ERROR 0" >> $NDB_TOOLS_OUTPUT
|
|
|
|
# Drop table won't go through until the backup is completed.
|
|
# Retry DROP TABLE in a loop with a gap of one second between
|
|
# successive attempts until backup completes, at which point
|
|
# the DROP TABLE will succeed.
|
|
|
|
--disable_query_log
|
|
let $mysql_errno = ER_GET_ERRMSG;
|
|
while($mysql_errno)
|
|
{
|
|
sleep 1;
|
|
--error 0,1306
|
|
drop table t1;
|
|
}
|
|
--enable_query_log
|
|
|
|
--echo "Backup complete, backup buffer usage should return to zero"
|
|
select count(*) from ndbinfo.logbuffers where log_type like "BACKUP%" and used > 0;
|
|
--source suite/ndb/include/backup_restore_cleanup.inc
|
|
--remove_file $NDB_TOOLS_OUTPUT
|