Yanqin Jin 7d8d56413d Override check consistency for DBImplSecondary (#5469)
Summary:
`DBImplSecondary` calls `CheckConsistency()` during open. In the past, `DBImplSecondary` did not override this function thus `DBImpl::CheckConsistency()` is called.
The following can happen. The secondary instance is performing consistency check which calls `GetFileSize(file_path)` but the file at `file_path` is deleted by the primary instance. `DBImpl::CheckConsistency` does not account for this and fails the consistency check. This is undesirable. The solution is that, we call `DBImpl::CheckConsistency()` first. If it passes, then we are good. If not, we give it a second chance and handles the case of file(s) being deleted.

Test plan (on dev server):
```
$make clean && make -j20 all
$./db_secondary_test
```
All other existing unit tests must pass as well.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5469

Differential Revision: D15861845

Pulled By: riversand963

fbshipit-source-id: 507d72392508caed3cd003bb2e2aa43f993dd597
2019-06-17 15:39:55 -07:00
..
2019-05-31 11:57:01 -07:00
2019-05-13 17:47:21 -07:00
2019-05-31 15:24:43 -07:00
2019-05-31 15:24:43 -07:00
2019-05-31 11:57:01 -07:00
2017-10-17 08:57:09 -07:00
2017-07-15 16:11:23 -07:00
2019-05-31 15:24:43 -07:00
2019-05-13 17:47:21 -07:00
2019-05-31 15:24:43 -07:00
2018-10-04 20:46:50 -07:00
2017-07-15 16:11:23 -07:00
2019-05-13 17:47:21 -07:00
2018-08-24 18:13:20 -07:00
2017-07-15 16:11:23 -07: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
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2019-05-31 15:24:43 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00