Andres Noetzli
297241e056
Fix deadlock in WAL sync
...
Summary:
MarkLogsSynced() was doing `logs_.erase(it++);`. The standard is saying:
```
all iterators and references are invalidated, unless the erased members are at an end (front or back) of the deque (in which case only iterators and references to the erased members are invalidated)
```
Because `it` is an iterator to the first element of the container, it is
invalidated, only one iteration is executed and `log.getting_synced = false;`
is not being done, so `while (logs_.front().getting_synced)` in `WriteImpl()`
is not terminating.
Test Plan: make db_bench && ./db_bench --benchmarks=fillsync
Reviewers: igor, rven, IslamAbdelRahman, anthony, kradhakrishnan, yhchiang, sdong, tnovak
Reviewed By: tnovak
Subscribers: kolmike, dhruba, leveldb
Differential Revision: https://reviews.facebook.net/D45807
2015-08-28 18:07:47 -07:00
..
2015-07-17 16:58:18 -07:00
2015-07-17 16:58:18 -07:00
2015-07-17 18:59:11 +02:00
2015-07-17 12:02:52 -07:00
2015-08-05 07:33:27 -07:00
2015-07-17 12:02:52 -07:00
2015-06-18 14:55:05 -07:00
2015-07-20 17:20:40 -07:00
2015-07-14 11:32:54 -07:00
2015-07-14 11:32:54 -07:00
2015-08-04 22:19:07 -07:00
2015-07-28 16:41:40 -07:00
2015-08-05 13:02:33 -07:00
2015-08-03 11:32:14 -07:00
2015-07-20 10:46:09 -07:00
2015-08-03 15:53:22 -07:00
2015-07-27 14:25:57 -07:00
2015-07-27 14:25:57 -07:00
2015-08-03 11:32:14 -07:00
2015-06-09 16:36:07 -07:00
2015-07-15 14:51:51 -07:00
2015-07-17 12:02:52 -07:00
2015-07-20 10:50:46 -07:00
2015-07-20 11:56:12 -07:00
2015-07-17 12:02:52 -07:00
2015-08-04 22:19:07 -07:00
2015-07-13 19:00:30 -07:00
2015-06-19 16:08:31 -07:00
2015-07-14 09:35:48 +02:00
2015-06-17 12:37:59 -07:00
2015-07-14 11:32:54 -07:00
2015-06-17 14:36:14 -07:00
2015-08-28 18:07:47 -07:00
2015-08-06 10:52:41 -07:00
2015-07-20 16:05:28 -07:00
2015-08-06 10:43:28 -07:00
2015-08-06 10:43:28 -07:00
2014-09-08 15:04:34 -07:00
2015-07-14 16:08:21 -07:00
2015-07-14 16:41:08 -07:00
2015-08-28 18:07:47 -07:00
2015-07-27 14:25:57 -07:00
2015-08-05 14:27:02 -07:00
2015-07-14 00:21:41 -07:00
2015-06-17 20:44:26 -07:00
2015-07-14 00:21:41 -07:00
2015-07-20 17:20:40 -07:00
2015-06-03 19:57:01 -07:00
2015-06-03 19:57:01 -07:00
2015-04-23 12:10:36 -07:00
2015-08-05 06:06:39 -07:00
2015-04-29 10:52:31 -07:00
2015-04-29 10:52:31 -07:00
2015-07-11 10:32:11 -07:00
2015-03-17 14:08:00 -07:00
2015-07-17 16:58:18 -07:00
2015-07-17 16:58:18 -07:00
2015-07-17 16:58:18 -07:00
2015-07-17 12:02:52 -07:00
2015-06-11 15:22:22 -07:00
2014-10-02 14:33:16 -07:00
2015-01-26 11:48:07 -08:00
2015-07-07 12:10:10 -07:00
2015-02-26 11:28:41 -08:00
2015-07-21 21:33:20 -07:00
2015-07-21 21:33:20 -07:00
2015-07-07 12:10:10 -07:00
2015-07-14 09:35:48 +02:00
2014-01-02 16:32:31 -08:00
2015-07-17 16:58:18 -07:00
2015-07-17 16:58:18 -07:00
2015-08-05 07:33:27 -07:00
2015-07-17 16:58:18 -07:00
2015-07-17 16:58:18 -07:00
2015-07-01 16:13:56 -07:00
2015-04-09 21:05:18 -07:00
2014-12-02 12:09:20 -08:00
2014-12-02 12:09:20 -08:00
2015-08-05 07:33:27 -07:00
2015-06-16 18:13:23 -07:00
2015-06-16 18:13:23 -07:00
2015-06-16 18:13:23 -07:00
2015-06-16 18:13:23 -07:00
2015-07-01 16:13:56 -07:00
2015-05-11 14:51:51 -07:00
2015-07-28 19:21:55 -07:00
2015-07-28 19:21:55 -07:00
2015-07-28 19:21:55 -07:00
2015-06-26 11:35:46 -07:00
2015-07-20 11:17:52 -07:00
2015-03-30 16:05:35 -04:00
2015-07-20 11:12:02 -07:00
2015-07-20 11:24:54 -07:00
2015-07-17 16:58:18 -07:00
2015-03-17 14:08:00 -07:00
2015-06-16 18:13:23 -07:00
2015-03-17 19:23:08 -07:00
2015-06-08 21:57:02 -07:00
2015-08-05 13:02:33 -07:00
2015-08-05 13:02:33 -07:00
2015-08-05 07:33:27 -07:00
2015-04-06 10:27:21 -07:00
2015-06-05 20:18:21 -07:00
2015-07-17 16:58:18 -07:00
2015-07-17 16:58:18 -07:00
2015-06-05 20:18:21 -07:00
2015-02-06 08:44:30 -08:00
2014-10-31 16:34:38 -07:00
2015-06-05 20:18:21 -07:00
2015-07-17 10:07:40 -07:00
2015-07-17 10:07:40 -07:00
2015-07-21 21:33:20 -07:00
2015-08-04 13:48:16 -07:00
2015-08-04 13:48:16 -07:00
2015-07-20 11:24:54 -07:00
2015-07-20 17:20:40 -07:00
2014-11-10 17:39:38 -05:00
2015-05-29 04:30:03 -07:00
2015-07-29 16:54:23 -07:00
2015-07-29 16:54:23 -07:00
2015-07-29 16:54:23 -07:00
2015-07-20 10:54:15 -07:00
2015-05-29 14:36:35 -07:00
2015-06-11 20:42:18 -07:00
2015-06-11 20:42:18 -07:00
2015-06-11 20:42:18 -07:00
2015-07-14 09:35:48 +02:00
2015-07-14 09:35:48 +02:00
2014-12-02 12:09:20 -08:00