diff --git a/fdbserver/storageserver.actor.cpp b/fdbserver/storageserver.actor.cpp index f5b7302a4d..1244342553 100644 --- a/fdbserver/storageserver.actor.cpp +++ b/fdbserver/storageserver.actor.cpp @@ -1925,9 +1925,13 @@ ACTOR Future changeFeedStreamQ(StorageServer* data, ChangeFeedStreamReques req.reply.sendError(unknown_change_feed()); return Void(); } - wait(feed->second->newMutations - .onTrigger()); // FIXME: check that this is triggered when the range is moved to a different - // server, also check that the stream is closed + choose { + when(wait(feed->second->newMutations.onTrigger())) { + } // FIXME: check that this is triggered when the range is moved to a different + // server, also check that the stream is closed + when(wait(req.end == std::numeric_limits::max() ? Future(Never()) + : data->version.whenAtLeast(req.end))) {} + } auto feed = data->uidChangeFeed.find(req.rangeID); if (feed == data->uidChangeFeed.end() || feed->second->removing) { req.reply.sendError(unknown_change_feed());