|
1 | 1 | # Check that the latest checkpoint in the redo log files |
2 | 2 | # is not newer than the checkpoint sampled by no_checkpoint_start.inc |
3 | 3 |
|
4 | | -if (!$no_checkpoint_kill) { |
5 | 4 | --source include/kill_mysqld.inc |
6 | | -} |
| 5 | +--error 2 |
| 6 | +--exec $MYSQLD_CMD --innodb --innodb-read-only --innodb-invalid-option --innodb-page-size=$INNODB_PAGE_SIZE --innodb-buffer-pool-size=21m |
7 | 7 |
|
8 | 8 | perl; |
9 | | -my $cp = $ENV{CHECKPOINT_LSN}; |
10 | | -$cp =~ s/^InnoDB\t\t//; |
11 | | -my $log = "$ENV{MYSQLD_DATADIR}ib_logfile0"; |
12 | | -open(LOG, "<$log") || die "Unable to open $log"; |
13 | | -seek(LOG, 4096, 0) || die "Unable to seek $log"; |
14 | | -die unless read(LOG, $_, 8) == 8; |
15 | | -my ($cp1hi,$cp1lo) = unpack("NN", $_); |
16 | | -seek(LOG, 8192, 0) || die "Unable to seek $log"; |
17 | | -die unless read(LOG, $_, 8) == 8; |
18 | | -my ($cp2hi,$cp2lo) = unpack("NN", $_); |
19 | | -close(LOG); |
20 | | - |
21 | | -my $cp1 = $cp1hi << 32 | $cp1lo; |
22 | | -my $cp2 = $cp2hi << 32 | $cp2lo; |
23 | | - |
| 9 | +my $cp=0; |
| 10 | +my $search_file= "$ENV{MYSQLTEST_VARDIR}/log/mysqld.1.err"; |
| 11 | +open(FILE, '<', $search_file) || die("Can't open file $search_file: $!"); |
| 12 | +while(<FILE>) |
| 13 | +{ |
| 14 | + if (/^CURRENT_TEST:/) |
| 15 | + { |
| 16 | + $cp=0; |
| 17 | + } |
| 18 | + elsif (!$cp && /\[Warning\] innodb_read_only prevents crash recovery between (\d+) and/o) |
| 19 | + { |
| 20 | + $cp=$1; |
| 21 | + } |
| 22 | +} |
| 23 | +close(FILE); |
24 | 24 | open(OUT, ">$ENV{MYSQLTEST_VARDIR}/log/check.txt") || die; |
25 | | - |
26 | | -if ($cp1 > $cp || $cp2 > $cp) { |
27 | | - print OUT "--source include/start_mysqld.inc\n" |
28 | | - unless $ENV{no_checkpoint_kill}; |
| 25 | +if ($cp != $ENV{CHECKPOINT_LSN}) |
| 26 | +{ |
| 27 | + print OUT "--source include/start_mysqld.inc\n"; |
29 | 28 | print OUT "$ENV{CLEANUP_IF_CHECKPOINT}\n"; |
30 | | - print OUT "--skip Extra checkpoint 1 after $cp ($cp1,$cp2)\n"; |
| 29 | + print OUT "--skip Unexpected checkpoint $cp != $ENV{CHECKPOINT_LSN}\n"; |
31 | 30 | } |
32 | | - |
33 | 31 | close(OUT); |
34 | 32 | EOF |
35 | 33 |
|
|
0 commit comments