From 77b4806625be4dcbaf8c1b7513dfb0a0acc8b9d5 Mon Sep 17 00:00:00 2001 From: Siying Dong Date: Tue, 17 Jan 2017 11:18:12 -0800 Subject: [PATCH] Fix 2PC with concurrent memtable insert Summary: If concurrent memtable insert is enabled, and one prepare command and a normal command are grouped into a commit group, the sequence ID will be calculated incorrectly. Closes https://github.com/facebook/rocksdb/pull/1730 Differential Revision: D4371081 Pulled By: siying fbshipit-source-id: cd40c6d --- db/write_thread.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/write_thread.cc b/db/write_thread.cc index cd3a52391..66cec0e1b 100644 --- a/db/write_thread.cc +++ b/db/write_thread.cc @@ -317,7 +317,7 @@ void WriteThread::LaunchParallelFollowers(ParallelGroup* pg, while (w != pg->last_writer) { // Writers that won't write don't get sequence allotment - if (!w->CallbackFailed()) { + if (!w->CallbackFailed() && w->ShouldWriteToMemtable()) { sequence += WriteBatchInternal::Count(w->batch); } w = w->link_newer;