From a5c2a8ee8a207a66c33701d4fe7d3fd1588b6cb5 Mon Sep 17 00:00:00 2001 From: Evan Tschannen Date: Sun, 10 Jun 2018 20:27:19 -0700 Subject: [PATCH] fix: allow disk errors to cancel the actor before recruiting logs --- fdbserver/TLogServer.actor.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fdbserver/TLogServer.actor.cpp b/fdbserver/TLogServer.actor.cpp index 7cc88d1286..20c50acf2e 100644 --- a/fdbserver/TLogServer.actor.cpp +++ b/fdbserver/TLogServer.actor.cpp @@ -2019,6 +2019,9 @@ ACTOR Future tLog( IKeyValueStore* persistentData, IDiskQueue* persistentQ Void _ = wait( checkEmptyQueue(&self) && checkRecovered(&self) ); } + //Disk errors need a chance to kill this actor. + Void _ = wait(delay(0.0)); + if(recovered.canBeSet()) recovered.send(Void()); self.sharedActors.send( cleanupPeekTrackers(&self) );