mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MyRocks: post-merge fixes part #5: make rocksdb.rocksdb_checksums test pass
This commit is contained in:
@ -18,6 +18,11 @@
|
|||||||
# Optionally, SEARCH_ABORT can be set to "FOUND" or "NOT FOUND" and this
|
# Optionally, SEARCH_ABORT can be set to "FOUND" or "NOT FOUND" and this
|
||||||
# will abort if the search result doesn't match the requested one.
|
# will abort if the search result doesn't match the requested one.
|
||||||
#
|
#
|
||||||
|
# Optionally, SEARCH_OUTPUT can be set to control the format of output.
|
||||||
|
# Supported formats:
|
||||||
|
# - (default) : "FOUND n /pattern/ in FILE " or "NOT FOUND ..."
|
||||||
|
# - "matches" : Each match is printed, on a separate line
|
||||||
|
#
|
||||||
# In case of
|
# In case of
|
||||||
# - SEARCH_FILE and/or SEARCH_PATTERN is not set
|
# - SEARCH_FILE and/or SEARCH_PATTERN is not set
|
||||||
# - SEARCH_FILE cannot be opened
|
# - SEARCH_FILE cannot be opened
|
||||||
@ -75,7 +80,14 @@ perl;
|
|||||||
my @matches=($content =~ m/$search_pattern/gs);
|
my @matches=($content =~ m/$search_pattern/gs);
|
||||||
my $res=@matches ? "FOUND " . scalar(@matches) : "NOT FOUND";
|
my $res=@matches ? "FOUND " . scalar(@matches) : "NOT FOUND";
|
||||||
$ENV{SEARCH_FILE} =~ s{^.*?([^/\\]+)$}{$1};
|
$ENV{SEARCH_FILE} =~ s{^.*?([^/\\]+)$}{$1};
|
||||||
print "$res /$search_pattern/ in $ENV{SEARCH_FILE}\n";
|
|
||||||
|
if ($ENV{SEARCH_OUTPUT} eq "matches") {
|
||||||
|
foreach (@matches) {
|
||||||
|
print $_ . "\n";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print "$res /$search_pattern/ in $ENV{SEARCH_FILE}\n";
|
||||||
|
}
|
||||||
die "$ENV{SEARCH_ABORT}\n"
|
die "$ENV{SEARCH_ABORT}\n"
|
||||||
if $ENV{SEARCH_ABORT} && $res =~ /^$ENV{SEARCH_ABORT}/;
|
if $ENV{SEARCH_ABORT} && $res =~ /^$ENV{SEARCH_ABORT}/;
|
||||||
EOF
|
EOF
|
||||||
|
@ -11,7 +11,12 @@ insert into t1 values (1,1,1),(2,2,2),(3,3,3);
|
|||||||
check table t1;
|
check table t1;
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t1 check status OK
|
test.t1 check status OK
|
||||||
FOUND 1 /0 table records had checksums/ in mysqld.1.err
|
CHECKTABLE t1: Checking table t1
|
||||||
|
CHECKTABLE t1: Checking index a
|
||||||
|
CHECKTABLE t1: ... 3 index entries checked (0 had checksums)
|
||||||
|
CHECKTABLE t1: Checking index b
|
||||||
|
CHECKTABLE t1: ... 3 index entries checked (0 had checksums)
|
||||||
|
CHECKTABLE t1: 0 table records had checksums
|
||||||
drop table t1;
|
drop table t1;
|
||||||
set session rocksdb_store_row_debug_checksums=on;
|
set session rocksdb_store_row_debug_checksums=on;
|
||||||
create table t2 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
create table t2 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
||||||
@ -19,7 +24,12 @@ insert into t2 values (1,1,1),(2,2,2),(3,3,3);
|
|||||||
check table t2;
|
check table t2;
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t2 check status OK
|
test.t2 check status OK
|
||||||
FOUND 1 /3 table records had checksums/ in mysqld.1.err
|
CHECKTABLE t2: Checking table t2
|
||||||
|
CHECKTABLE t2: Checking index a
|
||||||
|
CHECKTABLE t2: ... 3 index entries checked (3 had checksums)
|
||||||
|
CHECKTABLE t2: Checking index b
|
||||||
|
CHECKTABLE t2: ... 3 index entries checked (3 had checksums)
|
||||||
|
CHECKTABLE t2: 3 table records had checksums
|
||||||
# Now, make a table that has both rows with checksums and without
|
# Now, make a table that has both rows with checksums and without
|
||||||
create table t3 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
create table t3 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
||||||
insert into t3 values (1,1,1),(2,2,2),(3,3,3);
|
insert into t3 values (1,1,1),(2,2,2),(3,3,3);
|
||||||
@ -29,7 +39,12 @@ set session rocksdb_store_row_debug_checksums=on;
|
|||||||
check table t3;
|
check table t3;
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t3 check status OK
|
test.t3 check status OK
|
||||||
FOUND 1 /2 table records had checksums/ in mysqld.1.err
|
CHECKTABLE t3: Checking table t3
|
||||||
|
CHECKTABLE t3: Checking index a
|
||||||
|
CHECKTABLE t3: ... 3 index entries checked (3 had checksums)
|
||||||
|
CHECKTABLE t3: Checking index b
|
||||||
|
CHECKTABLE t3: ... 3 index entries checked (2 had checksums)
|
||||||
|
CHECKTABLE t3: 2 table records had checksums
|
||||||
set session rocksdb_store_row_debug_checksums=on;
|
set session rocksdb_store_row_debug_checksums=on;
|
||||||
set session rocksdb_checksums_pct=5;
|
set session rocksdb_checksums_pct=5;
|
||||||
create table t4 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
create table t4 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
||||||
|
@ -19,8 +19,10 @@ show variables like 'rocksdb_%checksum%';
|
|||||||
create table t1 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
create table t1 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
||||||
insert into t1 values (1,1,1),(2,2,2),(3,3,3);
|
insert into t1 values (1,1,1),(2,2,2),(3,3,3);
|
||||||
check table t1;
|
check table t1;
|
||||||
--let SEARCH_FILE=$MYSQLTEST_VARDIR/log/mysqld.1.err
|
--let SEARCH_FILE=$LOG
|
||||||
--let SEARCH_PATTERN=0 table records had checksums
|
--let SEARCH_PATTERN=0 table records had checksums
|
||||||
|
--let SEARCH_PATTERN=CHECKTABLE t1[^\n]*
|
||||||
|
--let SEARCH_OUTPUT=matches
|
||||||
--source include/search_pattern_in_file.inc
|
--source include/search_pattern_in_file.inc
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
@ -29,7 +31,7 @@ set session rocksdb_store_row_debug_checksums=on;
|
|||||||
create table t2 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
create table t2 (pk int primary key, a int, b int, key(a), key(b)) engine=rocksdb;
|
||||||
insert into t2 values (1,1,1),(2,2,2),(3,3,3);
|
insert into t2 values (1,1,1),(2,2,2),(3,3,3);
|
||||||
check table t2;
|
check table t2;
|
||||||
--let SEARCH_PATTERN=3 table records had checksums
|
--let SEARCH_PATTERN=CHECKTABLE t2[^\n]*
|
||||||
--source include/search_pattern_in_file.inc
|
--source include/search_pattern_in_file.inc
|
||||||
|
|
||||||
--echo # Now, make a table that has both rows with checksums and without
|
--echo # Now, make a table that has both rows with checksums and without
|
||||||
@ -39,7 +41,7 @@ set session rocksdb_store_row_debug_checksums=off;
|
|||||||
update t3 set b=3 where a=2;
|
update t3 set b=3 where a=2;
|
||||||
set session rocksdb_store_row_debug_checksums=on;
|
set session rocksdb_store_row_debug_checksums=on;
|
||||||
check table t3;
|
check table t3;
|
||||||
--let SEARCH_PATTERN=2 table records had checksums
|
--let SEARCH_PATTERN=CHECKTABLE t3[^\n]*
|
||||||
--source include/search_pattern_in_file.inc
|
--source include/search_pattern_in_file.inc
|
||||||
|
|
||||||
set session rocksdb_store_row_debug_checksums=on;
|
set session rocksdb_store_row_debug_checksums=on;
|
||||||
@ -58,11 +60,12 @@ while ($i<4000)
|
|||||||
--enable_query_log
|
--enable_query_log
|
||||||
check table t4;
|
check table t4;
|
||||||
perl;
|
perl;
|
||||||
$total=10000;
|
$total=4000;
|
||||||
$pct=5;
|
$pct=5;
|
||||||
@out=();
|
@out=();
|
||||||
|
|
||||||
$filename= "$ENV{MYSQLTEST_VARDIR}/log/mysqld.1.err";
|
$filename= "$ENV{LOG}";
|
||||||
|
print $filename "\n";
|
||||||
open(F, '<', $filename) || die("Can't open file $filename: $!");
|
open(F, '<', $filename) || die("Can't open file $filename: $!");
|
||||||
while(<F>) {
|
while(<F>) {
|
||||||
@out=() if /^CURRENT_TEST:/;
|
@out=() if /^CURRENT_TEST:/;
|
||||||
@ -144,6 +147,6 @@ set @@global.rocksdb_verify_row_debug_checksums=@save_rocksdb_verify_row_debug_c
|
|||||||
set @@global.rocksdb_checksums_pct=@save_rocksdb_checksums_pct;
|
set @@global.rocksdb_checksums_pct=@save_rocksdb_checksums_pct;
|
||||||
|
|
||||||
--source include/restart_mysqld.inc
|
--source include/restart_mysqld.inc
|
||||||
--remove_file $LOG
|
#--remove_file $LOG
|
||||||
|
|
||||||
drop table t2,t3,t4;
|
drop table t2,t3,t4;
|
||||||
|
Reference in New Issue
Block a user