summaryrefslogtreecommitdiff
path: root/src/mongo/db/concurrency
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-36534 don't acquire locks on oplog when writing oplog entriesEric Milkie2018-10-291-1/+3
| | | | (cherry picked from commit 5c1a3ec728a71bca81629f99be782ac305a6ad4b)
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-1927-228/+282
|
* SERVER-37394 do not display deadline in timeout messageEric Milkie2018-10-111-3/+5
| | | | | | Because a lock acquisition can time out due to the minimum of the passed-in deadline or the MaxLockTimeout set on the Locker, we cannot show the exact deadline used for the timeout in the timeout message. (cherry picked from commit 1e03955cdab995fed6672d75a6a4544a9771a279)
* SERVER-26854 LockStats for sub-operations should not include wait time for ↵Xiangyu Yao2018-10-047-14/+100
| | | | | | previous operations (cherry picked from commit b5ca922655a1d0a438c39c38b2c4434016069cb7)
* SERVER-36531 Lock acquisition may throw despite use of ↵Louis Williams2018-09-142-2/+51
| | | | | | UninterruptibleLockGuard when WiredTiger tickets are exhausted (cherry picked from commit 57b4b2216ffc7986440b87f9659e970e061b9f33)
* SERVER-34798 Remove ServiceContext subclasses and use new ServiceContext in ↵Henrik Edin2018-09-132-43/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | every unit test. This patch does several loosely related and surprisingly hard to separate things. 1.) Make the ServiceContext class final 2.) Create a mechanism, called ConstructorActions, for running methods on ServiceContexts immediately after they're built and immediately before they're destroyed. 3.) Introduce / improve test fixture base classes for tests, giving them fresh ServiceContext instances for each test case. There is one fixture for tests that need a storage engine and another for those that do not. 4.) Make several remaining global variables SC decorations in support of (3) 5.) Replace many MONGO_INITIALIZERS that access getGlobalServiceContext with the new constructor-actions system, which is needed for (3.) 6.) Fix up tests to use the fixtures from (3) and fix tests that silently used different service contexts in together in a technically illegal fashion that now breaks. 7.) Utilize (2) as necessary to simplify initialization of new ServiceContexts, simplifying the fixtures in (3). (cherry picked from commit d520be0814492c262515cf0a5d62a127ace70dce) SERVER-35985 Destroy clients started in other threads. (cherry picked from commit 9a68eb0cc65a93233b4ff5746330f9eb77de9b90) SERVER-36258 Construct ServiceContext after mongo initializers complete. (cherry picked from commit bfe170e49b1dc10b2badde45bc13c057a2f8ab61) SERVER-36400 Explicitly destroy the client on exiting run() of each BackgroundJob (cherry picked from commit b079e4713d897b5541c2804386025817ec720800) SERVER-36351 Fix so ServiceContextMongoDTest removes the temp directory in its destructor. (cherry picked from commit 4c16f0f336f4db77034e8aa594bbd4a5bac3f40c) SERVER-36347 Fix parse_zone_info.py after ServiceContext refactor. (cherry picked from commit c9d4204b6243e5eee6fe0b5e2c34d02af9ac5edb)
* SERVER-35770 Running a multi-statement transaction when all WiredTiger write ↵Matthew Russotto2018-08-241-0/+22
| | | | | | tickets are exhausted may lead to deadlock (cherry picked from commit 210bb5d91cb3c77bb3ed169114f8b85cd1062fb3)
* SERVER-35428 Added ability to add two OpDebug objects togetherjinichu2018-08-062-4/+5
| | | | (cherry picked from commit 4ce2c25a29ca1442ae3f81777d8251cf5368ee22)
* SERVER-35085 Hide the visibility of UUIDCatalog changes during ↵Dianna Hohensee2018-07-201-1/+1
| | | | | | | | repairDatabase cmd Added RAII object around UUIDCatalog::onCloseCatalog and UUIDCatalog::onOpenCatalog (cherry picked from commit 9184a03574c398b087b929fda8ed428f0c64d28c)
* SERVER-32997 Implement instance level locking for mobile SESulabh Mahajan2018-07-051-1/+9
| | | | (cherry picked from commit cc8aab5249ccdec471e33bda087faecb53a6d9bf)
* SERVER-34790 ensure proper locks are held when doing reads or writes, via ↵Eric Milkie2018-05-292-3/+5
| | | | | | debug checks (cherry picked from commit ec2b67ac05f7aaa05b990e18cd7c23109a2e6eb7)
* SERVER-33198 Add complete two-phase locking testing to lock_state_test.cppDianna Hohensee2018-05-223-64/+86
| | | | (cherry picked from commit adad00367e75e7c71a781e4610321f7be5d98aa6)
* SERVER-34726 Lock acquisitions for profiling in transaction have 0 second ↵Tess Avitabile2018-05-183-0/+13
| | | | timeout
* SERVER-33244 All lock acquisitions for transaction operations obey ↵Dianna Hohensee2018-05-146-0/+172
| | | | maxTransactionLockRequestTimeoutMillis, which defaults to 0 millis
* SERVER-34805 Refactor the network libraries and move messages types to ↵Andrew Morrow2018-05-051-3/+1
| | | | rpc/protocol
* SERVER-33674 Require GlobalLocks with deadlines to specify interrupt ↵Louis Williams2018-04-303-80/+259
| | | | behavior when interrupted
* SERVER-34638 Get rid of CollectionLock::relockAsDatabaseExclusiver3.7.7Kaloian Manassiev2018-04-242-20/+0
|
* SERVER-27534 All writing operations must fail if the term changes.Justin Seyster2018-04-186-31/+121
| | | | | This reapplies bc19d43f, which was reverted by ae50776b. It also adds more test fixes.
* SERVER-34334 Update Locker _threadId when stashing/unstashingJames Wahlin2018-04-184-0/+31
|
* SERVER-34469 fix off-by-one error in CollectionLockTimeout testEric Milkie2018-04-161-1/+2
|
* Revert "SERVER-27534 All writing operations must fail if the term changes."Justin Seyster2018-04-136-121/+31
| | | | This reverts commit bc19d43fdc4aab85264def96f638128c0ddb8483.
* SERVER-33548 Enable profiling for batch writes within transactionsTess Avitabile2018-04-131-2/+2
|
* SERVER-27534 All writing operations must fail if the term changes.Justin Seyster2018-04-126-31/+121
| | | | | | | | | | | | | | | | | | | | The description of this SERVER ticket describes a nasty race that can occur if elections happen inbetween two batches during a large update. (The included test confirms that the race is possible.) To fix this, we want to check the operation context for interrupts with each batch, and we need to make sure the check happens _after_ the collection lock gets taken and before the batch inserts/updates/deletes execute. A recent change to locking gives us almost exactly this for free: if a collection lock has to wait, it throws an exception when the operation context is interrupted, ending the operation. If the lock doesn't wait, though, there is no check. This patch adds that check in. Acquiring a lock now always throws if the operation context is interrupted, which closes the race window in this bug.
* SERVER-33610 Remove unused resources queueMaria van Keulen2018-04-051-1/+0
|
* SERVER-33610 Recycle 2-phase-locks pending unlock during lock acquisitionMaria van Keulen2018-04-055-5/+188
|
* SERVER-34307 replace invariant(false) with MONGO_UNREACHABLEBenety Goh2018-04-043-6/+6
|
* SERVER-33316 Remove limit on number of locks a single operation can takeDianna Hohensee2018-03-227-101/+100
| | | | (Replaces the pre-allocated array in FastMapNoAlloc with a dynamic deque)
* SERVER-14900 Log operations that exceed slowMs on mongoSBernard Gorman2018-03-224-0/+18
|
* SERVER-33689 killCursors on snapshot read cursor should free stashed ↵Tess Avitabile2018-03-131-2/+2
| | | | transaction resources
* SERVER-24635 replace references to fassertStatusOK with fassertBenety Goh2018-03-071-2/+1
|
* SERVER-33473 Make WT ticket acquisition interruptibleLouis Williams2018-03-066-18/+75
|
* SERVER-33437 Make Decorables not type-erased.ADAM David Alan Martin2018-03-021-1/+0
| | | | | | | | | | | | The current Decorable system type-erases the most derived (Decorated) type when registering Decorations. This is illegal as derived classes which are no longer standard-layout can have the `Decorable` base class reordered with respect to the base address of their storage. This also removes the "with-owner" forms of declaring a decoration, which caused problems with layout. The decoration handles have been modified to provide mechanisms to get back to the owner directly, given a pointer or reference to the decoration.
* SERVER-33203 add benchmark canary testsRobert Guo2018-03-023-117/+195
|
* SERVER-33563 add RAII-style class to opt out of replication's use of ↵Benety Goh2018-03-023-11/+24
| | | | ParallelBatchWriterMode
* SERVER-32638 Rename interruptable to interruptibleLouis Williams2018-03-014-26/+26
|
* SERVER-32638: Allow lock acquisition to be interruptableLouis Williams2018-03-016-57/+322
|
* SERVER-33485 Active clients should always have a lock stateTess Avitabile2018-02-271-27/+25
|
* SERVER-33289 Release WT tickets when stashing RecoveryUnitTess Avitabile2018-02-265-16/+126
|
* SERVER-33233 Don't stall ftdc due to running out of ticketsBruce Lucas2018-02-203-4/+37
|
* SERVER-33004 Add two-phase locking for shared locks for snapshot readsTess Avitabile2018-02-145-11/+111
|
* SERVER-33275 Remove `platform/unordered_`* headersADAM David Alan Martin2018-02-143-5/+4
| | | | | | These headers date from before C++11 support and the `::mongo::stdx::` namespace. They can be removed and uses of the names therein can be changed to `::mongo::stdx::unordered_`* forms.
* Revert "SERVER-32875 Don't stall ftdc due to running out of tickets"Kelsey Schubert2018-02-122-14/+1
| | | | This reverts commit da5520555faef9a2ba9b6c9ec80539ae95ad88a5.
* SERVER-33265 Reduce test run time for lock_manager_test and catalog_raii_testXiangyu Yao2018-02-121-3/+3
|
* SERVER-33222 Don't call abandonSnapshot in GlobalLock destructor when in ↵James Wahlin2018-02-122-7/+39
| | | | WriteUnitOfWork
* SERVER-32682 Use deadline-oriented mechanism for lock timeoutXiangyu Yao2018-02-099-155/+191
|
* SERVER-32682 Allow AutoGet helpers to specify lock timeoutXiangyu Yao2018-02-093-10/+73
|
* SERVER-32682 Change GlobalLock timeout type to MillisecondsXiangyu Yao2018-02-093-55/+55
|
* SERVER-32950 Global resource should participate in two-phase lockingEric Milkie2018-02-081-4/+4
|
* SERVER-32367 Pull UUID and view resolution out of db_raiiKaloian Manassiev2018-02-022-2/+10
|
* SERVER-32367 Make the Command::parseNs* methods take StringDataKaloian Manassiev2018-02-021-7/+2
|