From 3fb0999e10712e664e6681a339ae8e2130c3189b Mon Sep 17 00:00:00 2001 From: Evan Tschannen Date: Tue, 2 Jul 2019 16:54:47 -0700 Subject: [PATCH] revert storage server priority changes --- fdbserver/storageserver.actor.cpp | 18 ++++++++---------- flow/network.h | 3 +-- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/fdbserver/storageserver.actor.cpp b/fdbserver/storageserver.actor.cpp index 587c438460..ed87da7342 100644 --- a/fdbserver/storageserver.actor.cpp +++ b/fdbserver/storageserver.actor.cpp @@ -2865,11 +2865,11 @@ ACTOR Future updateStorage(StorageServer* data) { if (g_network->isSimulated()) { double endTime = g_simulator.checkDisabled(format("%s/updateStorage", data->thisServerID.toString().c_str())); if(endTime > now()) { - wait(delay(endTime - now(), TaskStorage)); + wait(delay(endTime - now(), TaskUpdateStorage)); } } wait( data->desiredOldestVersion.whenAtLeast( data->storageVersion()+1 ) ); - wait( delay(0, TaskStorage) ); + wait( delay(0, TaskUpdateStorage) ); state Promise durableInProgress; data->durableInProgress = durableInProgress.getFuture(); @@ -2884,10 +2884,10 @@ ACTOR Future updateStorage(StorageServer* data) { state bool done = data->storage.makeVersionMutationsDurable(newOldestVersion, desiredVersion, bytesLeft); // We want to forget things from these data structures atomically with changing oldestVersion (and "before", since oldestVersion.set() may trigger waiting actors) // forgetVersionsBeforeAsync visibly forgets immediately (without waiting) but asynchronously frees memory. - Future finishedForgetting = data->mutableData().forgetVersionsBeforeAsync( newOldestVersion, TaskStorage ); + Future finishedForgetting = data->mutableData().forgetVersionsBeforeAsync( newOldestVersion, TaskUpdateStorage ); data->oldestVersion.set( newOldestVersion ); wait( finishedForgetting ); - wait( yield(TaskStorage) ); + wait( yield(TaskUpdateStorage) ); if (done) break; } @@ -2900,9 +2900,7 @@ ACTOR Future updateStorage(StorageServer* data) { state Future durableDelay = Void(); if (bytesLeft > 0) { - durableDelay = delay(SERVER_KNOBS->STORAGE_COMMIT_INTERVAL, TaskStorage); - } else { - durableDelay = delay(0, TaskUpdateStorage) || delay(SERVER_KNOBS->STORAGE_COMMIT_INTERVAL, TaskStorage); + durableDelay = delay(SERVER_KNOBS->STORAGE_COMMIT_INTERVAL, TaskUpdateStorage); } wait( durable ); @@ -2922,7 +2920,7 @@ ACTOR Future updateStorage(StorageServer* data) { } durableInProgress.send(Void()); - wait( delay(0, TaskStorage) ); //Setting durableInProgess could cause the storage server to shut down, so delay to check for cancellation + wait( delay(0, TaskUpdateStorage) ); //Setting durableInProgess could cause the storage server to shut down, so delay to check for cancellation // Taking and releasing the durableVersionLock ensures that no eager reads both begin before the commit was effective and // are applied after we change the durable version. Also ensure that we have to lock while calling changeDurableVersion, @@ -2931,9 +2929,9 @@ ACTOR Future updateStorage(StorageServer* data) { data->popVersion( data->durableVersion.get() + 1 ); while (!changeDurableVersion( data, newOldestVersion )) { - if(g_network->check_yield(TaskStorage)) { + if(g_network->check_yield(TaskUpdateStorage)) { data->durableVersionLock.release(); - wait(delay(0, TaskStorage)); + wait(delay(0, TaskUpdateStorage)); wait( data->durableVersionLock.take() ); } } diff --git a/flow/network.h b/flow/network.h index 02532ba6ea..18bb6148dc 100644 --- a/flow/network.h +++ b/flow/network.h @@ -65,8 +65,6 @@ enum { TaskDefaultOnMainThread = 7500, TaskDefaultDelay = 7010, TaskDefaultYield = 7000, - TaskDiskWrite = 5030, - TaskStorage = 5020, TaskDiskRead = 5010, TaskDefaultEndpoint = 5000, TaskUnknownEndpoint = 4000, @@ -74,6 +72,7 @@ enum { TaskDataDistributionLaunch = 3530, TaskRatekeeper = 3510, TaskDataDistribution = 3500, + TaskDiskWrite = 3010, TaskUpdateStorage = 3000, TaskTLogSpilledPeekReply = 2800, TaskLowPriority = 2000,