Yanqin Jin
5894761056
Improve stress test for transactions (#9568)
Summary:
Test only, no change to functionality.
Extremely low risk of library regression.
Update test key generation by maintaining existing and non-existing keys.
Update db_crashtest.py to drive multiops_txn stress test for both write-committed and write-prepared.
Add a make target 'blackbox_crash_test_with_multiops_txn'.
Running the following commands caught the bug exposed in https://github.com/facebook/rocksdb/issues/9571.
```
$rm -rf /tmp/rocksdbtest/*
$./db_stress -progress_reports=0 -test_multi_ops_txns -use_txn -clear_column_family_one_in=0 \
-column_families=1 -writepercent=0 -delpercent=0 -delrangepercent=0 -customopspercent=60 \
-readpercent=20 -prefixpercent=0 -iterpercent=20 -reopen=0 -ops_per_thread=1000 -ub_a=10000 \
-ub_c=100 -destroy_db_initially=0 -key_spaces_path=/dev/shm/key_spaces_desc -threads=32 -read_fault_one_in=0
$./db_stress -progress_reports=0 -test_multi_ops_txns -use_txn -clear_column_family_one_in=0
-column_families=1 -writepercent=0 -delpercent=0 -delrangepercent=0 -customopspercent=60 -readpercent=20 \
-prefixpercent=0 -iterpercent=20 -reopen=0 -ops_per_thread=1000 -ub_a=10000 -ub_c=100 -destroy_db_initially=0 \
-key_spaces_path=/dev/shm/key_spaces_desc -threads=32 -read_fault_one_in=0
```
Running the following command caught a bug which will be fixed in https://github.com/facebook/rocksdb/issues/9648 .
```
$TEST_TMPDIR=/dev/shm make blackbox_crash_test_with_multiops_wc_txn
```
Pull Request resolved: https://github.com/facebook/rocksdb/pull/9568
Reviewed By: jay-zhuang
Differential Revision: D34308154
Pulled By: riversand963
fbshipit-source-id: 99ff1b65c19b46c471d2f2d3b47adcd342a1b9e7
2022-03-16 19:00:04 -07:00
..
2021-09-01 20:26:28 -07:00
2021-09-29 04:04:40 -07:00
2020-02-20 12:09:57 -08:00
2019-04-18 10:55:01 -07:00
2019-04-18 10:55:01 -07:00
2021-03-02 11:42:27 -08:00
2019-04-18 10:55:01 -07:00
2022-01-28 16:47:08 -08:00
2022-01-12 09:31:12 -08:00
2020-05-29 11:29:23 -07:00
2022-02-08 13:50:18 -08:00
2020-05-12 21:07:55 -07:00
2022-03-01 13:58:02 -08:00
2022-03-08 13:19:39 -08:00
2021-09-07 21:19:27 -07:00
2022-03-16 19:00:04 -07:00
2022-01-12 09:31:12 -08:00
2020-02-20 12:09:57 -08:00
2017-08-03 15:56:46 -07:00
2015-05-22 16:03:39 -07:00
2019-04-18 10:55:01 -07:00
2019-04-18 10:55:01 -07:00
2021-09-29 04:04:40 -07:00
2021-04-01 13:14:51 -07:00
2020-09-23 15:50:26 -07:00
2020-09-23 15:50:26 -07:00
2021-07-28 16:44:14 -07:00
2022-02-04 08:19:20 -08:00
2022-02-25 23:13:11 -08:00
2022-02-25 23:13:11 -08:00
2022-02-25 23:13:11 -08:00
2020-02-20 12:09:57 -08:00
2017-08-03 15:56:46 -07:00
2021-09-01 14:28:58 -07:00
2021-10-18 11:01:06 -07:00
2021-03-02 11:42:27 -08:00
2019-04-18 10:55:01 -07:00
2022-02-14 15:38:32 -08:00
2019-04-18 10:55:01 -07:00
2019-04-18 10:55:01 -07:00
2015-06-19 16:24:36 -07:00
2021-12-29 11:14:42 -08:00
2021-12-29 11:14:42 -08:00
2022-02-08 12:15:35 -08:00
2021-06-15 03:43:48 -07:00
2020-06-08 13:58:28 -07:00
2021-11-19 23:47:43 -08:00
2021-08-24 18:18:36 -07:00
2021-12-10 11:05:35 -08:00
2020-02-20 12:09:57 -08:00
2019-04-18 10:55:01 -07:00
2021-03-02 11:42:27 -08:00
2020-05-29 11:29:23 -07:00
2021-01-25 22:09:11 -08:00