From c3c8511e1724a30c2ebd093e51a7fbb763c3835d Mon Sep 17 00:00:00 2001 From: Jingyu Zhou Date: Tue, 12 Apr 2022 21:36:18 -0700 Subject: [PATCH] Fix provisional GRV Proxy ID in GetReadVersionReply This was not set and can cause infinite loop in simulation where the client calls getConsistentReadVersion(), in which we do "continue" for stale GRV reply and retry. Then this repeats forever. --- fdbserver/ClusterRecovery.actor.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/fdbserver/ClusterRecovery.actor.cpp b/fdbserver/ClusterRecovery.actor.cpp index af564b377df..0c1da6f60f1 100644 --- a/fdbserver/ClusterRecovery.actor.cpp +++ b/fdbserver/ClusterRecovery.actor.cpp @@ -851,6 +851,7 @@ ACTOR Future> provisionalMaster(ReferencelastEpochEnd; rep.locked = locked; rep.metadataVersion = metadataVersion; + rep.proxyId = parent->provisionalGrvProxies[0].id(); req.reply.send(rep); } else req.reply.send(Never()); // We can't perform causally consistent reads without recovering