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; }