Nathan Bronson
6ce42dd075
Don't merge WriteBatch-es if WAL is disabled
...
Summary:
There's no need for WriteImpl to flatten the write batch group
into a single WriteBatch if the WAL is disabled. This diff moves the
flattening into the WAL step, and skips flattening entirely if it isn't
needed. It's good for about 5% speedup on a multi-threaded workload
with no WAL.
This diff also adds clarifying comments about the chance for partial
failure of WriteBatchInternal::InsertInto, and always sets bg_error_ if
the memtable state diverges from the logged state or if a WriteBatch
succeeds only partially.
Benchmark for speedup:
db_bench -benchmarks=fillrandom -threads=16 -batch_size=1 -memtablerep=skip_list -value_size=0 --num=200000 -level0_slowdown_writes_trigger=9999 -level0_stop_writes_trigger=9999 -disable_auto_compactions --max_write_buffer_number=8 -max_background_flushes=8 --disable_wal --write_buffer_size=160000000
Test Plan: asserts + make check
Reviewers: sdong, igor
Reviewed By: igor
Subscribers: dhruba
Differential Revision: https://reviews.facebook.net/D50583
2015-11-12 10:50:38 -08:00
..
2015-10-30 18:33:01 -07:00
2015-10-30 18:33:01 -07:00
2015-07-17 18:59:11 +02:00
2015-10-30 18:33:01 -07:00
2015-11-10 22:58:01 -08:00
2015-10-16 14:10:33 -07:00
2015-08-20 11:47:19 -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-10-07 09:30:03 -07:00
2015-10-13 15:32:13 -07:00
2015-10-13 15:32:13 -07:00
2015-10-22 15:15:37 -07:00
2015-10-18 21:24:32 -04:00
2015-10-30 18:33:01 -07:00
2015-10-13 15:32:13 -07:00
2015-10-05 17:40:18 -07:00
2015-09-21 17:21:59 -07:00
2015-09-14 11:03:37 -07:00
2015-10-08 11:27:38 -07:00
2015-10-09 18:10:55 -07:00
2015-10-16 14:10:33 -07:00
2015-07-15 14:51:51 -07:00
2015-11-09 19:25:22 -08:00
2015-07-20 10:50:46 -07:00
2015-11-06 11:34:06 -08:00
2015-10-22 15:15:37 -07:00
2015-11-12 07:45:53 -08:00
2015-10-22 15:15:37 -07:00
2015-06-19 16:08:31 -07:00
2015-11-03 17:52:17 -08:00
2015-06-17 12:37:59 -07:00
2015-07-14 11:32:54 -07:00
2015-09-25 21:25:30 -07:00
2015-11-12 10:50:38 -08:00
2015-11-10 22:58:01 -08:00
2015-10-12 13:05:42 -07:00
2015-10-22 15:15:37 -07:00
2015-11-05 16:43:54 -08:00
2015-11-05 13:24:05 -08:00
2015-10-22 15:15:37 -07:00
2015-10-22 15:15:37 -07:00
2015-10-22 15:15:37 -07:00
2015-11-10 22:58:01 -08:00
2015-10-18 21:24:32 -04:00
2015-11-03 15:54:18 -08:00
2015-11-09 19:25:22 -08:00
2015-10-22 15:15:37 -07:00
2015-07-14 00:21:41 -07:00
2015-09-17 11:42:56 -07:00
2015-09-18 20:15:20 +02:00
2015-07-20 17:20:40 -07:00
2015-10-09 18:10:55 -07:00
2015-06-03 19:57:01 -07:00
2015-04-23 12:10:36 -07:00
2015-10-22 15:15:37 -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-11-10 22:58:01 -08:00
2015-11-10 22:58:01 -08:00
2015-10-18 21:24:32 -04:00
2015-10-13 15:32:13 -07:00
2015-10-13 15:32:13 -07:00
2014-10-02 14:33:16 -07:00
2015-01-26 11:48:07 -08:00
2015-10-13 15:32:13 -07:00
2015-10-13 15:32:13 -07:00
2015-10-17 00:16:36 -07:00
2015-10-17 00:16:36 -07:00
2015-07-07 12:10:10 -07:00
2015-10-16 14:10:33 -07:00
2015-10-19 17:24:05 -04:00
2015-10-19 17:24:05 -04:00
2015-10-19 17:24:05 -04:00
2015-10-19 17:24:05 -04:00
2015-10-19 17:24:05 -04:00
2015-10-19 17:24:05 -04:00
2015-07-01 16:13:56 -07:00
2015-04-09 21:05:18 -07:00
2015-10-14 11:06:27 -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-10-13 15:32:13 -07:00
2015-10-13 15:32:13 -07:00
2015-10-13 15:32:13 -07:00
2015-10-13 15:32:13 -07:00
2015-11-02 12:44:27 -08:00
2015-05-11 14:51:51 -07:00
2015-10-07 09:30:03 -07:00
2015-10-13 15:32:13 -07:00
2015-10-13 15:32:13 -07:00
2015-06-26 11:35:46 -07:00
2015-07-20 11:17:52 -07:00
2015-11-10 23:23:36 -08:00
2015-10-13 10:41:48 -07:00
2015-09-23 11:41:07 -07:00
2015-11-05 13:24:05 -08:00
2015-10-18 21:24:32 -04:00
2015-03-17 14:08:00 -07:00
2015-11-09 19:25:22 -08:00
2015-03-17 19:23:08 -07:00
2015-08-06 17:59:05 -07:00
2015-08-06 17:59:05 -07:00
2015-10-13 15:32:13 -07:00
2015-10-13 15:32:13 -07:00
2015-10-09 14:36:51 -07:00
2015-09-17 11:42:56 -07:00
2015-10-09 14:36:51 -07:00
2015-10-18 21:24:32 -04:00
2015-07-17 16:58:18 -07:00
2015-09-21 17:21:59 -07:00
2015-10-30 16:38:10 -07:00
2015-10-19 17:31:13 -07:00
2015-10-08 15:51:45 -07:00
2015-10-08 15:51:45 -07:00
2015-10-08 15:51:45 -07:00
2015-07-21 21:33:20 -07:00
2015-10-26 15:01:28 -07:00
2015-10-19 17:31:13 -07:00
2015-10-18 21:24:32 -04:00
2015-10-18 21:24:32 -04:00
2014-11-10 17:39:38 -05:00
2015-09-17 11:42:56 -07:00
2015-11-12 10:50:38 -08:00
2015-11-10 16:56:06 -08:00
2015-11-12 10:50:38 -08: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-11-06 09:23:55 -08:00
2015-08-14 10:55:43 -07:00
2014-12-02 12:09:20 -08:00