From 28707de3438e913e13143fe72d75baff29871d45 Mon Sep 17 00:00:00 2001 From: Xin Dong Date: Fri, 9 Oct 2020 19:21:22 -0700 Subject: [PATCH] Moved debug_advanceMaxCommittedVersion to right before the commit future is waited. Throw the SE commit failure that was previously siliently swallowed. --- fdbserver/storageserver.actor.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fdbserver/storageserver.actor.cpp b/fdbserver/storageserver.actor.cpp index f600e894ac..baf6122ec4 100644 --- a/fdbserver/storageserver.actor.cpp +++ b/fdbserver/storageserver.actor.cpp @@ -3099,6 +3099,7 @@ ACTOR Future updateStorage(StorageServer* data) { data->durableInProgress = durableInProgress.getFuture(); durable = data->storage.commit(); // Commit data up to(inclusive) version pendingCommitVersion durableMinDelay = delay(SERVER_KNOBS->STORAGE_COMMIT_INTERVAL, TaskPriority::UpdateStorage); + debug_advanceMaxCommittedVersion(data->thisServerID, pendingCommitVersion); if (finalCommit) { wait(durable && durableMinDelay); done = true; @@ -3273,6 +3274,9 @@ ACTOR Future asyncPrepareVersionsForCommit_impl(StorageServerDisk* self, S } if (stopEarly.isReady()) { // Previous commit is done. + if (durable.isError()) { + throw durable.getError(); + } break; } } else { @@ -3297,7 +3301,7 @@ ACTOR Future asyncPrepareVersionsForCommit_impl(StorageServerDisk* self, S // Set the new durable version as part of the outstanding change set, before commit data->storage.makeVersionDurable( newOldestVersion ); } - debug_advanceMaxCommittedVersion( data->thisServerID, newOldestVersion ); + wait(forgetter.signal()); return finalCommit; }