revert storage server priority changes
This commit is contained in:
parent
e54eedf0e2
commit
3fb0999e10
|
@ -2865,11 +2865,11 @@ ACTOR Future<Void> updateStorage(StorageServer* data) {
|
||||||
if (g_network->isSimulated()) {
|
if (g_network->isSimulated()) {
|
||||||
double endTime = g_simulator.checkDisabled(format("%s/updateStorage", data->thisServerID.toString().c_str()));
|
double endTime = g_simulator.checkDisabled(format("%s/updateStorage", data->thisServerID.toString().c_str()));
|
||||||
if(endTime > now()) {
|
if(endTime > now()) {
|
||||||
wait(delay(endTime - now(), TaskStorage));
|
wait(delay(endTime - now(), TaskUpdateStorage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
wait( data->desiredOldestVersion.whenAtLeast( data->storageVersion()+1 ) );
|
wait( data->desiredOldestVersion.whenAtLeast( data->storageVersion()+1 ) );
|
||||||
wait( delay(0, TaskStorage) );
|
wait( delay(0, TaskUpdateStorage) );
|
||||||
|
|
||||||
state Promise<Void> durableInProgress;
|
state Promise<Void> durableInProgress;
|
||||||
data->durableInProgress = durableInProgress.getFuture();
|
data->durableInProgress = durableInProgress.getFuture();
|
||||||
|
@ -2884,10 +2884,10 @@ ACTOR Future<Void> updateStorage(StorageServer* data) {
|
||||||
state bool done = data->storage.makeVersionMutationsDurable(newOldestVersion, desiredVersion, bytesLeft);
|
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)
|
// 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.
|
// forgetVersionsBeforeAsync visibly forgets immediately (without waiting) but asynchronously frees memory.
|
||||||
Future<Void> finishedForgetting = data->mutableData().forgetVersionsBeforeAsync( newOldestVersion, TaskStorage );
|
Future<Void> finishedForgetting = data->mutableData().forgetVersionsBeforeAsync( newOldestVersion, TaskUpdateStorage );
|
||||||
data->oldestVersion.set( newOldestVersion );
|
data->oldestVersion.set( newOldestVersion );
|
||||||
wait( finishedForgetting );
|
wait( finishedForgetting );
|
||||||
wait( yield(TaskStorage) );
|
wait( yield(TaskUpdateStorage) );
|
||||||
if (done) break;
|
if (done) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2900,9 +2900,7 @@ ACTOR Future<Void> updateStorage(StorageServer* data) {
|
||||||
state Future<Void> durableDelay = Void();
|
state Future<Void> durableDelay = Void();
|
||||||
|
|
||||||
if (bytesLeft > 0) {
|
if (bytesLeft > 0) {
|
||||||
durableDelay = delay(SERVER_KNOBS->STORAGE_COMMIT_INTERVAL, TaskStorage);
|
durableDelay = delay(SERVER_KNOBS->STORAGE_COMMIT_INTERVAL, TaskUpdateStorage);
|
||||||
} else {
|
|
||||||
durableDelay = delay(0, TaskUpdateStorage) || delay(SERVER_KNOBS->STORAGE_COMMIT_INTERVAL, TaskStorage);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wait( durable );
|
wait( durable );
|
||||||
|
@ -2922,7 +2920,7 @@ ACTOR Future<Void> updateStorage(StorageServer* data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
durableInProgress.send(Void());
|
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
|
// 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,
|
// are applied after we change the durable version. Also ensure that we have to lock while calling changeDurableVersion,
|
||||||
|
@ -2931,9 +2929,9 @@ ACTOR Future<Void> updateStorage(StorageServer* data) {
|
||||||
data->popVersion( data->durableVersion.get() + 1 );
|
data->popVersion( data->durableVersion.get() + 1 );
|
||||||
|
|
||||||
while (!changeDurableVersion( data, newOldestVersion )) {
|
while (!changeDurableVersion( data, newOldestVersion )) {
|
||||||
if(g_network->check_yield(TaskStorage)) {
|
if(g_network->check_yield(TaskUpdateStorage)) {
|
||||||
data->durableVersionLock.release();
|
data->durableVersionLock.release();
|
||||||
wait(delay(0, TaskStorage));
|
wait(delay(0, TaskUpdateStorage));
|
||||||
wait( data->durableVersionLock.take() );
|
wait( data->durableVersionLock.take() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,8 +65,6 @@ enum {
|
||||||
TaskDefaultOnMainThread = 7500,
|
TaskDefaultOnMainThread = 7500,
|
||||||
TaskDefaultDelay = 7010,
|
TaskDefaultDelay = 7010,
|
||||||
TaskDefaultYield = 7000,
|
TaskDefaultYield = 7000,
|
||||||
TaskDiskWrite = 5030,
|
|
||||||
TaskStorage = 5020,
|
|
||||||
TaskDiskRead = 5010,
|
TaskDiskRead = 5010,
|
||||||
TaskDefaultEndpoint = 5000,
|
TaskDefaultEndpoint = 5000,
|
||||||
TaskUnknownEndpoint = 4000,
|
TaskUnknownEndpoint = 4000,
|
||||||
|
@ -74,6 +72,7 @@ enum {
|
||||||
TaskDataDistributionLaunch = 3530,
|
TaskDataDistributionLaunch = 3530,
|
||||||
TaskRatekeeper = 3510,
|
TaskRatekeeper = 3510,
|
||||||
TaskDataDistribution = 3500,
|
TaskDataDistribution = 3500,
|
||||||
|
TaskDiskWrite = 3010,
|
||||||
TaskUpdateStorage = 3000,
|
TaskUpdateStorage = 3000,
|
||||||
TaskTLogSpilledPeekReply = 2800,
|
TaskTLogSpilledPeekReply = 2800,
|
||||||
TaskLowPriority = 2000,
|
TaskLowPriority = 2000,
|
||||||
|
|
Loading…
Reference in New Issue