FastRestore:Applier:Multiple set-clear mutations at same version

This commit is contained in:
Meng Xu 2020-02-13 10:07:19 -08:00
parent 238b2cb8e4
commit b008df97eb
2 changed files with 8 additions and 5 deletions

View File

@ -796,7 +796,7 @@ Value applyAtomicOp(Optional<StringRef> existingValue, Value value, MutationRef:
else if (type == MutationRef::ByteMax)
return doByteMax(existingValue, value, arena);
else {
TraceEvent(SevError, "ApplyAtomicOpUnhandledType").detail("Type", type).detail("TypeStr", typeString[type]);
TraceEvent(SevError, "ApplyAtomicOpUnhandledType").detail("Type", (int) type).detail("TypeName", typeString[type]);
ASSERT(false);
}
return Value();

View File

@ -73,10 +73,13 @@ struct StagingKey {
.detail("NewMutation", m.toString())
.detail("ExistingKeyType", typeString[type]);
if (m.type == MutationRef::SetValue || m.type == MutationRef::ClearRange) {
TraceEvent(SevError, "FastRestoreApplierStagingKeyMutationAtSameVersionUnhandled")
.detail("Version", newVersion)
.detail("NewMutation", m.toString())
.detail("ExistingKeyType", typeString[type]);
if (m.type != type || m.param2 != val) {
TraceEvent(SevError, "FastRestoreApplierStagingKeyMutationAtSameVersionUnhandled")
.detail("Version", newVersion)
.detail("NewMutation", m.toString())
.detail("ExistingKeyType", typeString[type])
.detail("ExitingKeyValue", val);
}
}
} // else input mutation is old and can be ignored
}