summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/write_unit_of_work.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-67507 Move op_observer files to op_observer directoryShin Yee Tan2022-07-081-1/+1
|
* SERVER-67281 move BatchedWriteContext logic out of WriteUnitOfWork into ↵Benety Goh2022-06-291-10/+6
| | | | OpObserver onBatchedWrite*() handlers
* SERVER-67281 remove unused logging header from WriteUnitOfWork implementationBenety Goh2022-06-281-4/+0
|
* SERVER-66203 move MONGO_LOGV2_DEFAULT_COMPONENT defs below includesBilly Donahue2022-05-061-1/+3
|
* SERVER-63044 Batch non-sharded user multi-doc deletes by defaultJosef Ahmad2022-05-021-0/+4
|
* SERVER-60761 Move the global read-only flag to be an OperationContext functionGregory Wlodarek2022-04-221-9/+8
|
* SERVER-51236 Merge UncommittedCollections with UncommittedCatalogUpdatesFaustoleyva542022-04-071-1/+0
|
* SERVER-52877 Unify how writable Collections instances are handledHenrik Edin2022-04-051-12/+26
| | | | | | | | | | | | | | | | | | | | | CollectionCatalog::LifetimeMode has been removed. Catalog writes now require that we are in an active WUOW. Make it allowed to use WriteUnitOfWork when the server is in readOnly mode. It does not open storage sessions, just allows registration of RecoveryUnit callbacks that are executed when calling commit(). This allows for the unification of code where we need to initialize Collection instances even in readOnly mode. Handling of enforcing readOnly has been pushed down to the RecordStore. All interfaces that perform write now check if we are in readOnly mode and throw if we are. Catalog updates using the BatchedCollectionCatalogWriter class bypass the Collection cloning if the batched CollectionCatalog instance already has a uniquely owned copy (a previous write to this collection has been requested). It is also not required to be in an active WUOW when the BatchedCollectionCatalogWriter is used.
* SERVER-63047 Make delete batches fully transactionalJosef Ahmad2022-03-241-2/+26
|
* SERVER-47735 change mongo source over to logv2Billy Donahue2020-04-261-1/+1
| | | | | | - Remove several legacy logger/ files - Convert all MONGO_LOG_DEFAULT_COMPONENT to the LOGV2 version. - Globally replace logger::{LogSeverity,LogComponent} => logv2::
* SERVER-46966 Handle implicit collection creation errors during insertMaria van Keulen2020-03-301-0/+3
|
* SERVER-46524 ephemeralForTest storage engine does not need to update the ↵Dianna Hohensee2020-03-031-0/+3
| | | | | | | oplogTruncateAfterPoint when primary because there are no oplog holes (no parallel writes). SERVER-46527 StorageInterfaceImpl::getLatestOplogTimestamp must have implementation logic supported by all storage engines, not just WiredTiger.
* SERVER-43859: Take MODE_IX locks for collection creation.Daniel Gottlieb2019-11-261-0/+2
| | | | | | | | | | | | | | | | | Two concurrent storage transactions can now create collections with the same collection name. These transactions will conflict at commit time; the first committer will win and register their collection into the global catalog. The losing transactions will bubble a WriteConflictException. Top-level callers that should fail if the collection already existed must now check and fail with a NamespaceExists error code. Previously, those callers could rely on lower level code returning the NamespaceExists error. Callers that were implicitly creating a collection may retry the operation, using the now-registered collection. These transaction-local collections (UncommittedCollections) are returned when doing any CollectionCatalog::lookup* call.
* SERVER-43317 merge failpoint headers. Rewrite docs.Billy Donahue2019-10-031-1/+0
| | | | iterate docs
* SERVER-43119 FailPoint cleanupBilly Donahue2019-09-101-1/+1
| | | | | | | | | | | - Don't use MONGO_INITIALIZER to declare each fail point. We only need one init task in total: freeze and iterate the registry. - remove MONGO_FAIL_POINT_DECLARE macro (extern) - remove MONGO_FAIL_POINT_SHOULD_FAIL macro (FailPoint::shouldFail) - remove MONGO_FAIL_POINT_BLOCK_IF (FailPoint::executeIf) - remove MONGO_FAIL_POINT_BLOCK (FailPoint::execute) - clean up FailPointRegistry and fail_point_service implementation.
* SERVER-39560 - remove leading blank line on all C++ filesBilly Donahue2019-02-131-1/+0
| | | | | | Remove leading comments that are just stating the filename. Move any file-level comments below the copyright banner. Remove leading blank lines.
* SERVER-38499: Enforce oplog visibility at the MongoDB layer.Daniel Gottlieb2019-01-241-0/+12
| | | | | | | | | | | | | | | | | | | | | | | WiredTiger guards against transactions preparing with a timestamp earlier than the most recent reader. This guarantees no reader may have seen the wrong version of a document. The oplog is a special case. Because the oplog does not contain prepared updates, and oplog readers cannot read from other collections, it's valid to prepare behind an oplog readers timestamp. However, WiredTiger is not aware the oplog is special. When MongoDB uses WiredTiger `read_timestamp`s to enforce oplog visibility, there are cases (specifically, secondary oplog application) where an oplog reader can be in front of an impending prepare. There were two strategies available for resolving this. The first is to artificially hold back what oplog is available to read at until nothing can be prepared behind an oplog reader. The second strategy, which is what this patch does, is to have the MongoDB layer hide documents that are newer than the visibility point. The mechanism for calculating and discovering the visibility point is unchanged.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-8/+10
|
* SERVER-35798 preallocate prepare timestampJudah Schvimer2018-08-071-0/+12
|
* SERVER-35376 remove implicit abort on prepare transactionJudah Schvimer2018-06-181-1/+0
|
* SERVER-34423 Avoid reloading UUID on collMod rollbackGeert Bosch2018-05-011-1/+1
|
* SERVER-33548 Enable profiling for batch writes within transactionsTess Avitabile2018-04-131-13/+18
|
* SERVER-33306 SERVER-33307 SERVER-33308 Add prepareTransaction command stub. ↵Louis Williams2018-03-211-8/+11
| | | | | | Add prepare method to WriteUnitOfWork. Implement prepareUnitOfWork in WiredTigerRecoveryUnit.
* SERVER-32638: Allow lock acquisition to be interruptableLouis Williams2018-03-011-0/+96