diff options
Diffstat (limited to 'storage/rocksdb/mysql-test/rocksdb/t/rocksdb_concurrent_delete.test')
-rw-r--r-- | storage/rocksdb/mysql-test/rocksdb/t/rocksdb_concurrent_delete.test | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/storage/rocksdb/mysql-test/rocksdb/t/rocksdb_concurrent_delete.test b/storage/rocksdb/mysql-test/rocksdb/t/rocksdb_concurrent_delete.test new file mode 100644 index 00000000000..47818bfdbe1 --- /dev/null +++ b/storage/rocksdb/mysql-test/rocksdb/t/rocksdb_concurrent_delete.test @@ -0,0 +1,38 @@ +# rocksdb_concurrent_delete test case covers snapshot conflicts, and +# verifying locking reads not stopping scanning when hitting row not found. +# The following code coverages are covered. +# +# 1. PK full scan (key=NULL) +# first row, and other rows +# ha_rnd_next -> rnd_next -> rnd_next_with_direction +# +# 2. PK range scan (key=PRIMARY) +# first row +# read_range_first -> index_read_map_impl -> read_row_from_primary_key +# next row +# index_next -> index_next_with_direction -> rnd_next_with_direction +# +# 3. SK full scan +# first row +# index_first -> index_first_intern -> index_next_with_direction -> secondary_index_read +# next row +# index_next -> index_next_with_direction -> secondary_index_read +# +# 4. SK range scan +# first row +# read_range_first -> index_read_map_impl -> read_row_from_secondary_key +# next row +# index_next -> index_next_with_direction -> secondary_index_read +# +# In all cases, RR gets snapshot conflict errors if non-first rows get +# deleted by another transaction after scanning. + +--source include/have_rocksdb.inc +--source include/have_debug_sync.inc + +let $isolation_level = REPEATABLE READ; +--source rocksdb_concurrent_delete_main.inc + +let $isolation_level = READ COMMITTED; +--source rocksdb_concurrent_delete_main.inc + |