summaryrefslogtreecommitdiff
path: root/src/mongo/db/db_raii.h
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-62457 Fix AutoGetCollectionForReadCommandLock bug wherein a request ↵Dianna Hohensee2022-03-091-13/+46
| | | | can come in with an UNSHARDED shard version, AutoGet*LockFree can find sharded state and then pass the SV check as unsharded, due to concurrent activities with the lock-free read state setup
* SERVER-63874 Use AutoStatsTracker multi-collection functionality in the ↵Dianna Hohensee2022-03-071-1/+1
| | | | AutoGetCollectionForReadCommand* classes
* SERVER-62798 Use single 'AutoGet' for all execution namespaces instead of ↵Mihai Andrei2022-03-011-0/+1
| | | | multiple in 'runAggregate'
* SERVER-59958 implement multi-collection support for ↵Dianna Hohensee2022-02-101-116/+51
| | | | AutoGetCollectionForRead* collection helpers
* SERVER-62674 Add stats tracking for multiple collectionsMihai Andrei2022-01-311-2/+3
|
* SERVER-60837 Remove CollectionUUID and OptionalCollectionUUID aliasesDaniel Gómez Ferro2021-12-021-2/+2
|
* SERVER-58663 Create a lock-free multi collection AutoGet* helperDianna Hohensee2021-09-171-0/+109
|
* SERVER-54889 Nested LFR collection helpers must not try to re-establish read ↵Dianna Hohensee2021-03-241-1/+2
| | | | source
* SERVER-54024 Use lock-free collection helpers in some auth read lookups and ↵Dianna Hohensee2021-03-021-0/+19
| | | | RolesLocks.
* SERVER-54066 Retain stashed CollectionCatalog in the case of out-of-order ↵Dianna Hohensee2021-02-171-2/+8
| | | | destruction of AutoGetCollectionForRead*LockFree helpers
* SERVER-53829 Make listCollections and listIndexes commands lock freeHenrik Edin2021-01-261-0/+39
|
* SERVER-52835 Nested LFR lock helpers should read from copied CollectionCatalogDianna Hohensee2021-01-081-1/+6
|
* SERVER-53057 Read-copy-update for the ViewCatalog.Henrik Edin2020-12-091-5/+5
| | | | | | | get() now returns an immutable instance. Modifications are done with static functions in the ViewCatalog that perform the update serialized by a write mutex. Const-correct usage of the ViewCatalog.
* SERVER-50870 Establish consistent storage snapshot with the refreshed ↵Henrik Edin2020-11-171-10/+53
| | | | Collection after yielding
* SERVER-52556 Versioned CollectionCatalog. Writes are performed using ↵Henrik Edin2020-11-131-0/+1
| | | | | | | copy-on-write. Internal mutexes when reading CollectionCatalog are removed, just one mutex for writes are needed. Lock-free reads helper AutoGetCollectionForReadLockFree stashes a CollectionCatalog consistent with snapshot on OperationContext
* SERVER-50677 Make a lock-free read version of AutoGetCollectionForRead and ↵Dianna Hohensee2020-10-141-14/+147
| | | | open a storage snapshot corresponding to the acquired Collection instance
* SERVER-51091 Rearrange AutoGetCollection templating and inheritance to have ↵Dianna Hohensee2020-09-301-24/+49
| | | | separate -LFR and non-LFR (lock-free read) lock helpers.
* SERVER-50984 Add CollectionPtr to replace usage of const Collection*Henrik Edin2020-09-261-2/+18
| | | | | | | | | | | | It implements a yieldable interface that is used to re-load the Collection pointer from the catalog after a yield that released locks. With lock-free reads and copy-on-write on Collection instances releasing locks without notifying an AutoGetCollection at a higher level may cause its pointers to dangle if a MODE_X writer installs a new Collection instance in the catalog. CollectionPtr should be passed by const reference so a yield can notify all the way up.
* SERVER-47885 Added lookupCollectionByXXXForRead interface to the Collection ↵Henrik Edin2020-08-071-5/+5
| | | | | | | | | catalog that returns collection as shared_ptr<const Collection> AutoGetCollectionForRead and AutoGetCollectionForReadCommand now uses this and holds the shared_ptr. They return the collection as const. Const correct various places to make this possible. Moved some logic from Collection destructors to deregister from the catalog as they may now be destroyed at a later point.
* SERVER-47803 Move the database level profile setting from Database into ↵Dianna Hohensee2020-05-141-1/+1
| | | | CollectionCatalog
* SERVER-46721 Secondary readers should read at the no-overlap time instead of ↵Louis Williams2020-05-121-13/+0
| | | | | | | | lastApplied The no-overlap time, ReadSource::kNoOverlap, is the minimum of replication's lastApplied timestamp and WiredTiger's all_durable time. This time is independent of replication state and ensures queries do not see oplog holes after state transitions from secondary to primary.
* SERVER-45137 Remove namespaces from Top when collections are renamedGregory Wlodarek2020-01-311-12/+14
| | | | create mode 100644 jstests/noPassthroughWithMongod/top_rename.js
* SERVER-42737 Make secondary reads in ShardServerCatalogCacheLoader block ↵Randolph Tan2019-10-231-0/+15
| | | | behind the PBW lock
* SERVER-41525 Use ignore_prepare=force for transactions that correctly do ↵Louis Williams2019-06-111-10/+11
| | | | writes while ignoring prepare conflicts
* SERVER-40938: disallow afterClusterTime and ignore prepare conflicts for ↵Lingzhi Deng2019-05-231-0/+36
| | | | dbhash and map-reduce
* SERVER-40357 expand all calls to MONGO_DISALLOW_COPYINGBilly Donahue2019-03-281-4/+8
| | | | | | | | | | | produced by: hits="$(git grep -n MONGO_DISALLOW_COPYING | cut -d: -f1 )" for f in "$hits"; do sed -i.orig ' s/^\( *\)MONGO_DISALLOW_COPYING(\(.*\));/\1\2(const \2\&) = delete;\n\1\2\& operator=(const \2\&) = delete;/; ' $f done
* 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-37283 Use stronger locks for system.viewsCharlie Swanson2019-02-111-1/+2
| | | | | | | | | | Readers of the view catalog depend on a MODE_IS DB lock preventing concurrent writes to the view catalog. This is true for regular view maintenance commands like collMod, create, and drop. However, on secondaries these commands are replicated as direct writes to system.views and do not hold as strong of a lock. Further, a user is permitted to write directly to system.views and so could hit a similar issue on the primary.
* SERVER-31098 Wrong ns in system.profile for aggregation queryDevin Hilly2018-11-201-7/+22
|
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-8/+10
|
* SERVER-35516 Get rid of OldClientWriteContextKaloian Manassiev2018-06-151-44/+1
|
* SERVER-34572 Write commands in transactions must check for pending catalog ↵Tess Avitabile2018-04-301-3/+2
| | | | changes
* SERVER-34565 oplog reads on secondaries should read at lastApplied timestampEric Milkie2018-04-201-5/+6
|
* SERVER-34192 Allow secondary reads during batch applicationsLouis Williams2018-04-131-0/+19
|
* SERVER-33336 Snapshot reads should not take MODE_IX locks when autocommit=trueTess Avitabile2018-03-021-1/+1
|
* SERVER-32367 Clean up the AutoGet* suite of classesKaloian Manassiev2018-02-141-129/+64
| | | | | | * Get rid of AutoGetCollectionOrViewForReadCommand * Get rid of constructors accepting Lock::DBLock * Always check for shard version, unless the namespace represents a view
* SERVER-33143 Hold MODE_IX locks for readConcern level snapshot readsJames Wahlin2018-02-121-0/+6
|
* SERVER-32682 Use deadline-oriented mechanism for lock timeoutXiangyu Yao2018-02-091-17/+15
|
* SERVER-32682 Allow AutoGet helpers to specify lock timeoutXiangyu Yao2018-02-091-14/+33
|
* SERVER-32367 Pull UUID and view resolution out of db_raiiKaloian Manassiev2018-02-021-22/+5
|
* SERVER-32367 Make the Command::parseNs* methods take StringDataKaloian Manassiev2018-02-021-2/+3
|
* SERVER-29909 Remove unnecessary class friendship declarationsKaloian Manassiev2017-12-181-4/+0
|
* SERVER-29909 Remove circular dependency between db_raii and sharding librariesKaloian Manassiev2017-12-161-187/+1
|
* SERVER-31447 Use correct collation for update lookupCharlie Swanson2017-11-151-0/+2
|
* Revert "SERVER-31447 Use correct collation for update lookup"Max Hirschhorn2017-11-141-2/+0
| | | | This reverts commit de0b16077945eb6b6ec161b99f41c3222aade3b8.
* SERVER-31447 Use correct collation for update lookupCharlie Swanson2017-11-141-0/+2
|
* SERVER-30591 Do changeStream lookups by UUID instead of namespace.Siyuan Zhou2017-09-151-0/+16
|
* SERVER-29839 Protect from mid-command renames in parseNsOrUUIDMaria van Keulen2017-08-301-0/+24
|
* SERVER-29417 Attach logical session ids to cursorssamantharitter2017-06-151-0/+43
|
* Revert "SERVER-29417 Attach logical session ids to cursors"Max Hirschhorn2017-06-151-43/+0
| | | | This reverts commit 65828661c6579989fdbb43f2c21de16f2bf72586.