1#
2# Test innodb_log_archive_expire_sec
3#
4
5--source include/have_innodb.inc
6--source include/not_embedded.inc
7
8--source ../include/percona_log_archiving_setup.inc
9
10CREATE TEMPORARY TABLE log_arch_status(a TEXT) ENGINE=MyISAM;
11
12SET @save_log_arch_expire_sec = @@innodb_log_arch_expire_sec;
13SET GLOBAL innodb_log_arch_expire_sec = 1;
14
15--source ../include/percona_log_archiving_workload.inc
16
17--source ../include/percona_log_archiving_workload.inc
18
19real_sleep 2;
20
21let $mysqld_pid_file=`SELECT @@GLOBAL.pid_file`;
22let $wait_counter= 1000;
23while ($wait_counter)
24{
25  --source ../include/percona_log_archiving_stat.inc
26  --disable_query_log
27  eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/percona_archived_logs.tmp'
28       INTO TABLE log_arch_status
29       LINES TERMINATED BY ';';
30  --remove_file $MYSQLTEST_VARDIR/tmp/percona_archived_logs.tmp
31  SELECT SUBSTRING(a, LOCATE('=', a) + 2) INTO @archived_logs_count
32         FROM log_arch_status WHERE a LIKE '%let $archived_logs_count%';
33  TRUNCATE TABLE log_arch_status;
34  --enable_query_log
35
36  if (`SELECT @archived_logs_count > 1`)
37  {
38    real_sleep 0.1;
39    dec $wait_counter;
40  }
41  if (`SELECT @archived_logs_count <= 1`)
42  {
43    let $wait_counter= 0;
44  }
45}
46
47if (`SELECT @archived_logs_count > 1`)
48{
49  die Test failed. Archived logs have not been purged.;
50}
51
52SET GLOBAL innodb_log_arch_expire_sec = @save_log_arch_expire_sec;
53
54--source ../include/percona_log_archiving_cleanup.inc
55