Zhichao Cao
c810947184
Separate handling of WAL Sync io error with SST flush io error ( #8049 )
...
Summary:
In previous codebase, if WAL is used, all the retryable IO Error will be treated as hard error. So write is stalled. In this PR, the retryable IO error from WAL sync is separated from SST file flush io error. If WAL Sync is ok and retryable IO Error only happens during SST flush, the error is mapped to soft error. So user can continue insert to Memtable and append to WAL.
Resolve the bug that if WAL sync fails, the memtable status does not roll back due to calling PickMemtable early than calling and checking SyncClosedLog.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/8049
Test Plan: added new unit test, make check
Reviewed By: anand1976
Differential Revision: D26965529
Pulled By: zhichao-cao
fbshipit-source-id: f5fecb66602212523c92ee49d7edcb6065982410
2021-03-18 14:33:16 -07:00
..
2021-03-17 20:44:49 -07:00
2021-03-17 20:44:49 -07:00
2021-03-18 14:33:16 -07:00
2020-12-04 21:29:38 -08:00
2020-12-04 21:29:38 -08:00
2021-03-17 20:44:49 -07:00
2021-03-17 20:44:49 -07:00
2021-03-09 20:44:23 -08:00
2021-02-19 14:09:54 -08:00
2021-01-15 16:56:41 -08:00
2021-03-15 04:34:11 -07:00
2021-03-09 02:21:25 -08:00
2020-12-22 23:45:58 -08:00
2020-10-01 19:14:14 -07:00
2020-12-22 14:53:43 -08:00
2020-10-28 23:22:27 -07:00
2020-05-12 18:23:33 -07:00
2021-02-22 22:09:22 -08:00
2021-02-06 22:34:30 -08:00
2021-01-06 10:49:32 -08:00
2020-12-09 21:21:16 -08:00
2021-02-06 22:34:30 -08:00
2021-01-06 14:15:02 -08:00
2021-03-17 20:44:49 -07:00
2021-01-25 22:09:11 -08:00
2021-01-09 09:44:34 -08:00
2020-09-10 22:35:25 -07:00
2021-03-18 14:33:16 -07:00
2021-01-19 13:47:48 -08:00
2020-06-15 10:47:02 -07:00
2020-08-17 18:42:25 -07:00
2021-01-06 14:15:02 -08:00
2020-12-04 21:29:38 -08:00
2020-12-22 23:45:58 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2021-03-12 12:31:29 -08:00
2021-01-29 12:18:58 -08:00
2021-01-25 22:09:11 -08:00
2020-12-09 21:21:16 -08:00
2021-01-29 12:18:58 -08:00
2020-12-08 15:55:04 -08:00
2020-12-08 15:55:04 -08:00
2021-02-19 10:29:02 -08:00
2020-10-27 10:33:09 -07:00
2020-12-22 15:09:39 -08:00
2021-03-15 15:03:27 -07:00
2021-03-17 20:44:49 -07:00
2020-12-22 23:45:58 -08:00
2020-12-22 23:45:58 -08:00
2021-01-06 14:15:02 -08:00
2021-03-08 14:47:56 -08:00
2021-03-17 20:44:49 -07:00
2021-03-17 20:44:49 -07:00
2021-03-18 09:47:31 -07:00
2021-02-06 22:34:30 -08:00
2021-03-02 09:48:00 -08:00
2021-03-15 17:44:52 -07:00
2020-08-17 18:42:25 -07:00
2020-12-22 15:09:39 -08:00
2020-10-28 23:22:27 -07:00
2020-12-02 13:00:53 -08:00
2021-03-10 11:15:46 -08:00
2020-12-22 15:09:39 -08:00
2021-03-18 14:33:16 -07:00
2021-03-17 22:38:13 -07:00
2021-03-17 22:38:13 -07:00
2021-01-06 14:15:02 -08:00
2020-08-25 10:46:11 -07:00
2020-02-20 12:09:57 -08:00
2020-12-09 21:21:16 -08:00
2021-01-25 22:09:11 -08:00
2021-03-15 04:34:11 -07:00
2020-12-22 15:09:39 -08:00
2020-12-22 23:45:58 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-28 23:22:27 -07:00
2021-02-23 14:35:06 -08:00
2021-03-17 20:44:49 -07:00
2021-03-17 20:44:49 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2021-03-09 20:53:33 -08:00
2020-04-15 17:40:44 -07:00
2021-01-25 22:09:11 -08:00
2021-03-15 04:34:11 -07:00
2020-12-23 16:55:53 -08:00
2021-03-04 00:43:48 -08:00
2021-03-15 04:34:11 -07:00
2020-05-04 15:08:13 -07:00
2021-01-29 12:18:58 -08:00
2020-12-22 23:45:58 -08:00
2020-02-20 12:09:57 -08:00
2020-11-30 18:11:38 -08:00
2020-08-26 10:39:20 -07:00
2021-01-04 16:01:01 -08:00
2020-12-23 16:55:53 -08:00
2020-03-27 16:04:43 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-12-22 23:45:58 -08:00
2021-02-06 22:34:30 -08:00
2020-12-14 13:48:22 -08:00
2020-12-14 13:48:22 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2021-01-21 13:13:02 -08:00
2021-03-12 16:44:35 -08:00
2020-12-23 16:55:53 -08:00
2020-11-10 23:42:13 -08:00
2020-11-10 23:42:13 -08:00
2021-03-15 04:34:11 -07:00
2021-01-25 22:09:11 -08:00
2021-03-15 04:34:11 -07:00
2021-01-25 22:09:11 -08:00
2020-02-20 12:09:57 -08:00
2021-01-04 16:01:01 -08:00
2020-02-20 12:09:57 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2020-10-28 10:12:58 -07:00
2020-10-28 10:12:58 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-08-14 19:20:58 -07:00
2021-03-17 20:44:49 -07:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2021-03-15 04:34:11 -07:00
2020-08-27 11:21:52 -07:00
2021-01-04 16:01:01 -08:00
2020-10-28 10:12:58 -07:00
2020-02-20 12:09:57 -08:00
2020-12-22 23:45:58 -08:00
2020-08-12 17:31:23 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-28 23:22:27 -07:00
2020-12-14 14:07:52 -08:00
2020-06-09 16:51:23 -07:00
2021-03-10 10:59:44 -08:00
2021-03-10 10:59:44 -08:00
2021-01-19 19:27:53 -08:00
2021-01-20 20:29:04 -08:00
2021-01-27 18:46:15 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-12-09 16:02:12 -08:00
2020-12-09 16:02:12 -08:00
2020-12-09 16:02:12 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-08-12 17:31:23 -07:00
2020-02-20 12:09:57 -08:00
2021-01-29 12:18:58 -08:00
2020-12-08 15:55:04 -08:00
2021-03-15 04:34:11 -07:00
2020-12-22 23:45:58 -08: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
2021-03-18 09:47:31 -07:00
2021-01-29 12:18:58 -08:00
2021-01-29 12:18:58 -08:00