summaryrefslogtreecommitdiff
path: root/storage/rocksdb/mysql-test/rocksdb_sys_vars/t/rocksdb_merge_tmp_file_removal_delay_ms_basic.test
blob: 03cc0b11d8ccbbcff3f3a17e3050b0061c1e9f91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
--source include/have_rocksdb.inc

CREATE TABLE valid_values (value varchar(255)) ENGINE=myisam;
INSERT INTO valid_values VALUES(1);
INSERT INTO valid_values VALUES(0);

CREATE TABLE invalid_values (value varchar(255)) ENGINE=myisam;
INSERT INTO invalid_values VALUES('\'aaa\'');
INSERT INTO invalid_values VALUES('\'bbb\'');
INSERT INTO invalid_values VALUES('on');

--let $sys_var=ROCKSDB_MERGE_TMP_FILE_REMOVAL_DELAY_MS
--let $read_only=0
--let $session=1
--source ../include/rocksdb_sys_var.inc

DROP TABLE valid_values;
DROP TABLE invalid_values;

set session rocksdb_merge_buf_size=250;
set session rocksdb_merge_combine_read_size=1000;
set session rocksdb_merge_tmp_file_removal_delay_ms=1000;

CREATE TABLE t1 (i INT, j INT, PRIMARY KEY (i)) ENGINE = ROCKSDB;

--disable_query_log
let $max = 100;
let $i = 1;
while ($i <= $max) {
  let $insert = INSERT INTO t1 VALUES ($i, FLOOR(RAND() * 100));
  inc $i;
  eval $insert;
}
--enable_query_log

let $start= `SELECT UNIX_TIMESTAMP()`;
# this should take a lot longer than normal because each deleted merge file
# will sleep for 1 secs. There should be about 13 buffers.
# So it should take at least 13 secs
ALTER TABLE t1 ADD INDEX kj(j), ALGORITHM=INPLACE;
let $stop_exec= `SELECT UNIX_TIMESTAMP()`;

let $time_diff= `SELECT ($stop_exec - $start)`;
let $assert_text= Alter should have taken at least 10 seconds;
let $assert_cond= $time_diff >= 10;
source include/assert.inc;

DROP TABLE t1;