fix: we cannot set queueCommitEnd until we have popped the log system to prevent the popped version from going backwards
This commit is contained in:
parent
12ef63b698
commit
b4bd03e67e
|
@ -1085,9 +1085,6 @@ ACTOR Future<Void> doQueueCommit( TLogData* self, Reference<LogData> logData ) {
|
|||
|
||||
ASSERT( ver > logData->queueCommittedVersion.get() );
|
||||
|
||||
logData->queueCommittedVersion.set(ver);
|
||||
self->queueCommitEnd.set(commitNumber);
|
||||
|
||||
logData->durableKnownCommittedVersion = knownCommittedVersion;
|
||||
if(logData->unpoppedRecoveredTags == 0 && knownCommittedVersion >= logData->recoveredAt && logData->recoveryComplete.canBeSet()) {
|
||||
TraceEvent("TLogRecoveryComplete", logData->logId).detail("tags", logData->unpoppedRecoveredTags).detail("durableKCVer", logData->durableKnownCommittedVersion).detail("recoveredAt", logData->recoveredAt);
|
||||
|
@ -1100,6 +1097,9 @@ ACTOR Future<Void> doQueueCommit( TLogData* self, Reference<LogData> logData ) {
|
|||
logData->logSystem->get()->pop(ver, logData->remoteTag, knownCommittedVersion, logData->locality);
|
||||
}
|
||||
|
||||
logData->queueCommittedVersion.set(ver);
|
||||
self->queueCommitEnd.set(commitNumber);
|
||||
|
||||
return Void();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue