diff --git a/fdbserver/logsystem/LogSystem.cpp b/fdbserver/logsystem/LogSystem.cpp index 6d18e9a05a4..98a91c88dea 100644 --- a/fdbserver/logsystem/LogSystem.cpp +++ b/fdbserver/logsystem/LogSystem.cpp @@ -1593,6 +1593,17 @@ Reference LogSystem::peekLogRouter( } } if (found) { + Version oldEnd = firstOld && recoveredAt.present() ? recoveredAt.get() + 1 : old.epochEnd; + if (begin > oldEnd) { + TraceEvent("TLogPeekLogRouterSkipEmptyOldRange", dbgid) + .detail("Tag", tag.toString()) + .detail("Begin", begin) + .detail("OldEnd", oldEnd) + .detail("FirstOld", firstOld); + firstOld = false; + continue; + } + int bestPrimarySet = 0; int bestSatelliteSet = -1; std::vector> localSets; @@ -1623,14 +1634,8 @@ Reference LogSystem::peekLogRouter( .detail("FirstOld", firstOld); // FIXME: do this merge on one of the logs in the other data center to avoid sending multiple copies // across the WAN - return makeReference(localSets, - bestSet, - localSets[bestSet]->bestLocationFor(tag), - tag, - begin, - firstOld && recoveredAt.present() ? recoveredAt.get() + 1 - : old.epochEnd, - true); + return makeReference( + localSets, bestSet, localSets[bestSet]->bestLocationFor(tag), tag, begin, oldEnd, true); } firstOld = false; }