diff options
author | Louis Williams <louis.williams@mongodb.com> | 2019-01-22 17:29:55 -0500 |
---|---|---|
committer | Louis Williams <louis.williams@mongodb.com> | 2019-02-06 13:04:21 -0500 |
commit | bb69551adf200b1b050476ad01b765018d5bac80 (patch) | |
tree | 929f508105697e1d90ae84b93bbc549c0b853975 /src/mongo/db/commands | |
parent | 33b153224e08a213f505c4f9e85d087d713cae5a (diff) | |
download | mongo-bb69551adf200b1b050476ad01b765018d5bac80.tar.gz |
SERVER-38986 Timestamp writes while draining
Diffstat (limited to 'src/mongo/db/commands')
-rw-r--r-- | src/mongo/db/commands/create_indexes.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mongo/db/commands/create_indexes.cpp b/src/mongo/db/commands/create_indexes.cpp index f0d2d3d36d8..754e8cce6be 100644 --- a/src/mongo/db/commands/create_indexes.cpp +++ b/src/mongo/db/commands/create_indexes.cpp @@ -357,7 +357,9 @@ bool runCreateIndexes(OperationContext* opCtx, opCtx->recoveryUnit()->abandonSnapshot(); Lock::CollectionLock colLock(opCtx->lockState(), ns.ns(), MODE_IS); - uassertStatusOK(indexer.drainBackgroundWrites()); + // Read at a point in time so that the drain, which will timestamp writes at lastApplied, + // can never commit writes earlier than its read timestamp. + uassertStatusOK(indexer.drainBackgroundWrites(RecoveryUnit::ReadSource::kNoOverlap)); } if (MONGO_FAIL_POINT(hangAfterIndexBuildFirstDrain)) { |