diff --git a/fdbclient/BackupAgentBase.actor.cpp b/fdbclient/BackupAgentBase.actor.cpp index 32a7f47487..6bd3c73ee4 100644 --- a/fdbclient/BackupAgentBase.actor.cpp +++ b/fdbclient/BackupAgentBase.actor.cpp @@ -554,7 +554,7 @@ ACTOR Future readCommitted(Database cx, PromiseStream results, Re } } -ACTOR Future dumpData(Database cx, PromiseStream results, Reference lock, Key uid, Key addPrefix, Key removePrefix, RequestStream commit, +ACTOR Future dumpData(Database cx, PromiseStream results, Reference lock, Key uid, Key addPrefix, Key removePrefix, RequestStream commit, NotifiedVersion* committedVersion, Optional endVersion, Key rangeBegin, PromiseStream> addActor, FlowLock* commitLock, Reference> keyVersion ) { state Version lastVersion = invalidVersion; state bool endOfStream = false; @@ -595,9 +595,11 @@ ACTOR Future dumpData(Database cx, PromiseStream results, Referenc Key applyBegin = uid.withPrefix(applyMutationsBeginRange.begin); Key versionKey = BinaryWriter::toValue(newBeginVersion, Unversioned()); Key rangeEnd = getApplyKey(newBeginVersion, uid); - + req.transaction.mutations.push_back_deep(req.arena, MutationRef(MutationRef::SetValue, applyBegin, versionKey)); + req.transaction.write_conflict_ranges.push_back_deep(req.arena, singleKeyRange(applyBegin)); req.transaction.mutations.push_back_deep(req.arena, MutationRef(MutationRef::ClearRange, rangeBegin, rangeEnd)); + req.transaction.write_conflict_ranges.push_back_deep(req.arena, singleKeyRange(rangeBegin)); req.transaction.read_snapshot = committedVersion->get(); req.isLockAware = true; @@ -694,4 +696,4 @@ ACTOR Future applyMutations(Database cx, Key uid, Key addPrefix, Key remov TraceEvent(e.code() == error_code_restore_missing_data ? SevWarnAlways : SevError, "AM_error").error(e); throw; } -} \ No newline at end of file +}