diff --git a/fdbserver/ConfigBroadcaster.actor.cpp b/fdbserver/ConfigBroadcaster.actor.cpp index 4bf0e00716..5f207c4802 100644 --- a/fdbserver/ConfigBroadcaster.actor.cpp +++ b/fdbserver/ConfigBroadcaster.actor.cpp @@ -106,7 +106,7 @@ class ConfigBroadcasterImpl { TraceEvent(SevDebug, "ConfigBroadcasterSnapshotRequest", id) .detail("Size", request.snapshot.size()) .detail("Version", request.version); - return success(client.broadcastInterface.snapshot.getReply(request)); + return success(brokenPromiseToNever(client.broadcastInterface.snapshot.getReply(request))); } template diff --git a/fdbserver/LocalConfiguration.actor.cpp b/fdbserver/LocalConfiguration.actor.cpp index add1e3a2b0..491a47a670 100644 --- a/fdbserver/LocalConfiguration.actor.cpp +++ b/fdbserver/LocalConfiguration.actor.cpp @@ -283,7 +283,11 @@ class LocalConfigurationImpl { loop { choose { when(ConfigBroadcastSnapshotRequest snapshotReq = waitNext(broadcaster.snapshot.getFuture())) { - ASSERT_GT(snapshotReq.version, self->lastSeenVersion); + if (snapshotReq.version <= self->lastSeenVersion) { + TraceEvent(SevWarnAlways, "LocalConfigGotOldSnapshot") + .detail("NewSnapshotVersion", snapshotReq.version) + .detail("LastSeenVersion", self->lastSeenVersion); + } ++self->snapshots; wait(setSnapshot(self, std::move(snapshotReq.snapshot), snapshotReq.version)); }