1include/master-slave.inc
2Warnings:
3Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
4Note	####	Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
5[connection master]
6SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
7set @save_rocksdb_blind_delete_primary_key=@@session.rocksdb_blind_delete_primary_key;
8set @save_rocksdb_master_skip_tx_api=@@session.rocksdb_master_skip_tx_api;
9DROP TABLE IF EXISTS t1,t2;
10create table t1 (id int primary key, value int, value2 varchar(200)) engine=rocksdb;
11create table t2 (id int primary key, value int, value2 varchar(200), index(value)) engine=rocksdb;
12SET session rocksdb_blind_delete_primary_key=1;
13select variable_value into @c from information_schema.global_status where variable_name='rocksdb_rows_deleted_blind';
14select variable_value-@c from information_schema.global_status where variable_name='rocksdb_rows_deleted_blind';
15variable_value-@c
161000
17SELECT count(*) FROM t1;
18count(*)
199000
20include/sync_slave_sql_with_master.inc
21SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
22SELECT count(*) FROM t1;
23count(*)
249000
25select variable_value into @c from information_schema.global_status where variable_name='rocksdb_rows_deleted_blind';
26select variable_value-@c from information_schema.global_status where variable_name='rocksdb_rows_deleted_blind';
27variable_value-@c
280
29SELECT count(*) FROM t2;
30count(*)
319000
32SET session rocksdb_master_skip_tx_api=1;
33select variable_value into @c from information_schema.global_status where variable_name='rocksdb_rows_deleted_blind';
34select variable_value-@c from information_schema.global_status where variable_name='rocksdb_rows_deleted_blind';
35variable_value-@c
361000
37SELECT count(*) FROM t1;
38count(*)
398000
40SELECT count(*) FROM t2;
41count(*)
428000
43include/sync_slave_sql_with_master.inc
44SELECT count(*) FROM t1;
45count(*)
468000
47SELECT count(*) FROM t2;
48count(*)
498000
50select variable_value into @c from information_schema.global_status where variable_name='rocksdb_rows_deleted_blind';
51DELETE FROM t1 WHERE id BETWEEN 3001 AND 4000;
52DELETE FROM t2 WHERE id BETWEEN 3001 AND 4000;
53select variable_value-@c from information_schema.global_status where variable_name='rocksdb_rows_deleted_blind';
54variable_value-@c
550
56SELECT count(*) FROM t1;
57count(*)
587000
59SELECT count(*) FROM t2;
60count(*)
617000
62include/sync_slave_sql_with_master.inc
63SELECT count(*) FROM t1;
64count(*)
657000
66SELECT count(*) FROM t2;
67count(*)
687000
69DELETE FROM t1 WHERE id = 10;
70SELECT count(*) FROM t1;
71count(*)
727000
73call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table test.t1.*Error_code.*");
74call mtr.add_suppression("Slave: Can't find record in 't1'.*");
75include/wait_for_slave_sql_error.inc [errno=1032]
76set @save_rocksdb_read_free_rpl=@@global.rocksdb_read_free_rpl;
77set global rocksdb_read_free_rpl=PK_SK;
78START SLAVE;
79include/sync_slave_sql_with_master.inc
80SELECT count(*) FROM t1;
81count(*)
827000
83set global rocksdb_read_free_rpl=@save_rocksdb_read_free_rpl;
84SET session rocksdb_blind_delete_primary_key=@save_rocksdb_blind_delete_primary_key;
85SET session rocksdb_master_skip_tx_api=@save_rocksdb_master_skip_tx_api;
86DROP TABLE t1, t2;
87include/rpl_end.inc
88