Wallace
1e9bf25f61
Do not hold mutex when write keys if not necessary ( #7516 )
...
Summary:
## Problem Summary
RocksDB will acquire the global mutex of db instance for every time when user calls `Write`. When RocksDB schedules a lot of compaction jobs, it will compete the mutex with write thread and it will hurt the write performance.
## Problem Solution:
I want to use log_write_mutex to replace the global mutex in most case so that we do not acquire it in write-thread unless there is a write-stall event or a write-buffer-full event occur.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/7516
Test Plan:
1. make check
2. CI
3. COMPILE_WITH_TSAN=1 make db_stress
make crash_test
make crash_test_with_multiops_wp_txn
make crash_test_with_multiops_wc_txn
make crash_test_with_atomic_flush
Reviewed By: siying
Differential Revision: D36908702
Pulled By: riversand963
fbshipit-source-id: 59b13881f4f5c0a58fd3ca79128a396d9cd98efe
2022-07-21 13:35:36 -07:00
..
2022-07-18 23:26:57 -07:00
2022-07-17 07:13:59 -07:00
2022-07-21 13:35:36 -07:00
2022-06-25 15:30:47 -07:00
2022-05-06 13:03:58 -07:00
2021-09-29 04:04:40 -07:00
2022-07-17 07:13:59 -07:00
2022-07-14 21:49:34 -07:00
2022-07-17 07:13:59 -07:00
2022-07-17 07:13:59 -07:00
2022-05-30 12:31:46 -07:00
2022-06-29 11:20:36 -07:00
2022-07-14 21:49:34 -07:00
2022-05-06 13:03:58 -07:00
2022-06-13 11:08:50 -07:00
2022-05-02 10:22:08 -07:00
2022-06-30 18:04:23 -07:00
2022-05-06 13:03:58 -07:00
2022-07-15 14:42:00 -07:00
2022-07-13 08:45:44 -07:00
2022-06-28 16:08:30 -07:00
2022-05-06 13:03:58 -07:00
2022-07-21 13:35:36 -07:00
2022-01-27 13:01:09 -08:00
2021-07-23 08:38:45 -07:00
2022-06-01 11:02:27 -07:00
2022-06-23 09:42:18 -07:00
2022-05-04 10:19:53 -07:00
2020-06-15 10:47:02 -07:00
2022-06-27 16:37:09 -07:00
2021-11-08 11:05:59 -08:00
2022-05-06 13:03:58 -07:00
2022-05-06 13:03:58 -07:00
2022-06-30 10:16:03 -07:00
2022-06-28 19:51:05 -07:00
2022-05-06 13:03:58 -07:00
2022-07-05 15:44:35 -07:00
2022-05-06 13:03:58 -07:00
2022-03-04 11:35:28 -08:00
2022-05-06 13:03:58 -07:00
2022-04-05 12:26:36 -07:00
2021-07-23 08:38:45 -07:00
2022-06-22 15:45:21 -07:00
2022-06-28 13:52:35 -07:00
2022-07-05 10:10:37 -07:00
2022-06-17 16:40:47 -07:00
2022-05-24 12:14:10 -07:00
2022-05-27 07:23:31 -07:00
2022-05-27 05:58:43 -07:00
2021-09-07 13:28:29 -07:00
2022-05-06 13:03:58 -07:00
2021-07-23 08:38:45 -07:00
2022-07-15 19:01:30 -07:00
2022-07-15 19:01:30 -07:00
2022-07-15 19:01:30 -07:00
2022-07-18 14:48:42 -07:00
2022-05-06 13:03:58 -07:00
2022-07-13 15:29:20 -07:00
2022-06-30 10:16:03 -07:00
2022-02-08 12:15:35 -08:00
2022-05-19 18:39:41 -07:00
2022-05-19 18:39:41 -07:00
2021-11-08 11:05:59 -08:00
2022-06-17 16:45:28 -07:00
2022-07-14 10:09:31 -07:00
2022-07-14 10:09:31 -07:00
2022-07-15 14:42:00 -07:00
2022-05-06 13:03:58 -07:00
2022-05-06 13:03:58 -07:00
2022-07-21 13:35:36 -07:00
2022-07-21 13:35:36 -07:00
2022-07-15 19:01:30 -07:00
2021-12-08 14:30:57 -08:00
2022-05-19 11:04:21 -07:00
2022-07-15 19:01:30 -07:00
2022-05-19 11:04:21 -07:00
2022-05-19 11:04:21 -07:00
2022-05-06 13:03:58 -07:00
2021-12-13 09:00:36 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2022-05-05 13:08:21 -07:00
2022-03-30 15:55:31 -07:00
2022-07-14 21:49:34 -07:00
2022-07-15 19:01:30 -07:00
2022-07-14 21:49:34 -07:00
2020-02-20 12:09:57 -08:00
2021-03-19 12:09:47 -07:00
2022-01-12 09:31:12 -08:00
2022-05-06 13:03:58 -07:00
2022-07-14 10:09:31 -07:00
2022-03-11 16:13:23 -08:00
2022-05-19 11:04:21 -07:00
2021-12-16 17:15:13 -08:00
2022-05-19 11:04:21 -07:00
2022-06-28 13:52:35 -07:00
2022-07-13 20:54:49 -07:00
2022-04-14 11:11:04 -07:00
2021-11-16 10:20:50 -08:00
2022-05-06 13:03:58 -07:00
2022-02-17 16:19:31 -08:00
2022-07-05 15:44:35 -07:00
2022-07-05 15:44:35 -07:00
2022-03-09 15:49:53 -08:00
2022-03-09 15:49:53 -08:00
2022-06-22 15:45:21 -07:00
2020-02-20 12:09:57 -08:00
2021-03-19 12:09:47 -07:00
2021-09-29 04:04:40 -07:00
2021-09-07 11:31:59 -07:00
2020-02-20 12:09:57 -08:00
2022-01-12 09:31:12 -08:00
2022-06-20 20:58:11 -07:00
2022-07-14 21:49:34 -07:00
2022-07-14 21:49:34 -07:00
2022-06-27 16:37:09 -07:00
2022-06-27 16:37:09 -07:00
2021-05-10 12:50:25 -07:00
2021-11-19 17:53:47 -08:00
2022-06-25 15:30:47 -07:00
2021-11-19 17:53:47 -08:00
2020-02-20 12:09:57 -08:00
2022-01-04 16:45:49 -08:00
2022-05-06 13:03:58 -07:00
2020-12-23 16:55:53 -08:00
2021-09-29 04:04:40 -07:00
2021-09-29 04:04:40 -07:00
2022-07-21 13:35:36 -07:00
2022-07-14 21:49:34 -07:00
2022-07-18 19:08:39 -07:00
2022-07-18 19:08:39 -07:00
2021-09-07 11:31:59 -07:00
2022-05-06 13:03:58 -07:00
2022-06-10 16:07:03 -07:00
2021-09-10 10:00:26 -07:00
2022-05-06 13:03:58 -07:00
2021-10-06 07:48:31 -07:00
2021-10-06 07:48:31 -07:00
2020-10-28 10:12:58 -07:00
2021-03-25 21:18:08 -07:00
2021-10-06 07:48:31 -07:00
2021-06-18 04:57:27 -07:00
2021-06-18 04:57:27 -07:00
2021-09-10 10:00:26 -07:00
2022-07-12 13:30:35 -07:00
2022-07-14 21:49:34 -07:00
2022-07-18 19:08:39 -07:00
2022-07-15 19:01:30 -07:00
2022-07-15 19:01:30 -07:00
2022-05-17 09:39:22 -07:00
2020-02-20 12:09:57 -08:00
2022-06-10 16:07:03 -07:00
2022-05-19 15:36:27 -07:00
2022-05-20 12:38:21 -07:00
2022-05-19 15:36:27 -07:00
2021-11-18 11:43:44 -08:00
2021-03-25 15:00:45 -07:00
2021-11-19 11:37:06 -08:00
2022-05-24 10:28:57 -07:00
2022-04-14 17:12:16 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2022-05-19 11:04:21 -07:00
2022-06-21 11:56:53 -07:00
2022-06-14 13:06:40 -07:00
2022-06-20 20:58:11 -07:00
2021-06-10 12:55:20 -07:00
2022-05-19 11:04:21 -07:00
2022-06-30 12:46:45 -07:00
2022-06-22 15:45:21 -07:00
2022-06-30 13:24:35 -07:00
2022-07-21 13:35:36 -07:00
2022-07-05 10:10:37 -07:00
2022-06-30 13:24:35 -07:00
2022-06-20 20:58:11 -07:00
2022-07-21 13:35:36 -07:00
2022-07-21 13:35:36 -07:00
2022-07-21 13:35:36 -07:00
2022-06-20 20:58:11 -07:00
2022-06-08 14:16:43 -07:00
2022-06-08 14:16:43 -07:00
2020-02-20 12:09:57 -08:00
2022-07-05 15:44:35 -07:00
2022-05-06 13:03:58 -07:00
2022-07-05 15:44:35 -07:00
2022-06-16 23:10:07 -07:00
2020-02-20 12:09:57 -08:00
2021-03-18 09:47:31 -07:00
2021-03-18 09:47:31 -07:00
2022-05-18 00:41:41 -07:00
2022-06-15 13:43:58 -07:00
2022-06-10 16:07:03 -07:00