Yanqin Jin
1e87f2b68b
Ref and unref cfd before and after calling WaitForFlushMemTables ( #5513 )
...
Summary:
This is to prevent bg flush thread from unrefing and deleting the cfd that has been dropped by a concurrent thread.
Before RocksDB calls `DBImpl::WaitForFlushMemTables`, we should increase the refcount of each `ColumnFamilyData` so that its ref count will not drop to 0 even if the column family is dropped by another thread. Otherwise the bg flush thread can deref the cfd and deletes it, causing a segfault in `WaitForFlushMemtables` upon accessing `cfd`.
Test plan (on devserver):
```
$make clean && COMPILE_WITH_ASAN=1 make -j32
$make check
```
All unit tests must pass.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5513
Differential Revision: D16062898
Pulled By: riversand963
fbshipit-source-id: 37dc511f1dc99f036d0201bbd7f0a8f5677c763d
2019-07-01 14:12:02 -07:00
..
2019-06-20 14:31:48 -07:00
2019-07-01 14:12:02 -07:00
2019-06-20 14:31:48 -07:00
2019-05-31 17:23:59 -07:00
2019-06-27 08:58:54 -07:00
2019-06-27 08:58:54 -07:00
2019-05-31 15:24:43 -07:00
2019-06-13 15:43:10 -07:00
2019-06-13 15:43:10 -07:00
2019-05-31 11:57:01 -07:00
2019-05-31 11:57:01 -07:00
2019-05-31 15:24:43 -07:00
2019-05-30 17:44:09 -07:00
2019-06-20 14:31:48 -07:00
2019-06-06 13:56:07 -07:00
2019-05-31 11:57:01 -07:00
2019-06-30 20:56:04 -07:00
2017-10-17 08:57:09 -07:00
2019-05-30 11:53:27 -07:00
2019-05-13 17:47:21 -07:00
2019-02-14 14:41:36 -08:00
2019-06-19 14:10:46 -07:00
2018-11-12 16:42:16 -08:00
2019-05-30 11:25:51 -07:00
2019-06-13 14:43:13 -07:00
2019-07-01 14:12:02 -07:00
2019-06-06 13:56:07 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-10-29 14:36:31 -07:00
2019-05-30 17:44:09 -07:00
2019-05-30 17:44:09 -07:00
2019-06-11 16:23:41 -07:00
2019-05-31 15:24:43 -07:00
2019-06-24 20:54:04 -07:00
2019-02-14 14:41:36 -08:00
2019-05-15 11:21:48 -07:00
2019-04-02 14:47:16 -07:00
2019-06-17 21:16:29 -07:00
2019-02-15 09:51:41 -08:00
2019-06-04 10:24:14 -07:00
2019-05-30 11:12:59 -07:00
2019-03-01 10:42:09 -08:00
2019-05-30 11:25:51 -07:00
2018-07-17 14:43:18 -07:00
2019-05-30 16:11:27 -07:00
2019-05-13 17:47:21 -07:00
2019-06-06 13:56:07 -07:00
2019-06-20 11:45:08 -07:00
2019-05-30 11:25:51 -07:00
2019-06-13 15:43:10 -07:00
2019-05-30 17:44:09 -07:00
2019-05-31 17:23:59 -07:00
2019-06-06 13:56:07 -07:00
2019-06-05 23:10:47 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 11:25:51 -07:00
2019-05-31 15:24:43 -07:00
2018-10-04 20:46:50 -07:00
2019-04-22 15:30:07 -07:00
2019-05-31 17:23:59 -07:00
2019-05-31 11:57:01 -07:00
2019-06-21 10:15:38 -07:00
2019-06-21 10:15:38 -07:00
2019-06-21 10:15:38 -07:00
2019-05-30 11:25:51 -07:00
2019-05-31 17:23:59 -07:00
2019-05-30 17:44:09 -07:00
2017-07-15 16:11:23 -07:00
2019-05-30 17:44:09 -07:00
2019-05-31 17:23:59 -07:00
2019-06-13 15:43:10 -07:00
2019-06-06 13:56:07 -07:00
2019-05-31 17:23:59 -07:00
2019-06-10 16:50:26 -07:00
2019-05-13 17:47:21 -07:00
2019-06-06 13:56:07 -07:00
2019-06-20 14:31:48 -07:00
2019-05-30 17:44:09 -07:00
2019-06-06 13:56:07 -07:00
2019-03-19 17:28:19 -07:00
2019-01-15 21:34:38 -08:00
2019-05-31 17:23:59 -07:00
2018-08-24 18:13:20 -07:00
2019-03-26 16:45:31 -07:00
2019-04-24 12:08:44 -07:00
2019-05-30 17:44:09 -07:00
2019-05-21 12:33:17 -07:00
2019-04-25 10:11:41 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2019-04-11 14:28:26 -07:00
2019-01-03 16:30:12 -08:00
2017-07-15 16:11:23 -07:00
2019-05-30 17:44:09 -07:00
2019-06-13 15:43:10 -07:00
2019-06-06 13:56:07 -07:00
2019-05-31 17:23:59 -07:00
2019-06-05 23:10:47 -07:00
2019-05-30 17:44:09 -07:00
2019-04-11 14:28:26 -07:00
2019-05-30 17:44:09 -07:00
2019-06-04 10:24:14 -07:00
2018-12-17 17:33:46 -08:00
2017-07-15 16:11:23 -07:00
2019-05-31 15:24:43 -07:00
2019-05-31 11:57:01 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 17:44:09 -07:00
2017-07-15 16:11:23 -07:00
2019-05-31 17:23:59 -07:00
2019-06-10 11:53:31 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 17:44:09 -07:00
2019-05-30 11:25:51 -07:00
2019-05-31 11:57:01 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 11:25:51 -07:00
2019-06-06 13:56:07 -07:00
2018-12-17 13:20:51 -08:00
2019-04-12 14:40:41 -07:00
2019-05-31 11:57:01 -07:00
2019-06-20 14:31:48 -07:00
2019-01-16 09:55:32 -08:00
2017-07-15 16:11:23 -07:00
2019-05-03 17:30:22 -07:00
2019-06-20 14:31:48 -07:00
2019-06-20 14:31:48 -07:00
2019-05-31 11:57:01 -07:00
2019-03-18 12:15:34 -07:00
2019-03-18 12:15:34 -07:00
2019-06-19 08:10:08 -07:00
2019-05-29 20:47:06 -07:00
2019-05-31 17:23:59 -07:00
2019-06-06 13:56:07 -07:00
2019-03-26 16:45:31 -07:00
2019-05-30 17:44:09 -07:00
2019-05-31 17:23:59 -07:00
2019-06-04 10:56:19 -07:00
2019-06-13 15:43:10 -07:00
2019-06-20 14:31:48 -07:00
2019-06-20 14:31:48 -07:00
2019-06-19 08:10:08 -07:00
2019-06-06 13:56:07 -07:00
2019-05-24 10:40:30 -07:00
2017-07-15 16:11:23 -07:00
2018-06-28 18:58:29 -07:00
2019-05-30 17:44:09 -07:00
2019-05-31 15:24:43 -07:00
2019-06-10 11:53:31 -07:00
2017-07-15 16:11:23 -07:00
2019-05-30 11:25:51 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2019-05-30 17:44:09 -07:00
2019-01-03 12:40:42 -08:00