summaryrefslogtreecommitdiff
path: root/src/mongo/db/session_catalog_test.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-66993 Stop tracking highest child session txnNumberJack Mulrow2022-06-071-26/+0
| | | | (cherry picked from commit f0a44617983763b0fdc1f37bdc35e391184ea63d)
* SERVER-66777 Ensure that internal transactions do not get interrupted by ↵Cheahuychou Mao2022-06-021-5/+59
| | | | | | logical session reaper (cherry picked from commit 01938cf7239dc4eb6a2fa79b31743cd815d4d92c)
* SERVER-66566 Optimize scanning SessionCatalog when refreshing retryable ↵Cheahuychou Mao2022-05-191-0/+26
| | | | | | writes from storage (cherry picked from commit c08864097934c74da40ffff9ea46176fb471ead5)
* SERVER-62479 Reap sessions for the same retryable write atomicallyCheahuychou Mao2022-04-181-55/+319
| | | | (cherry picked from commit 87393ce9bcfe06f8aa93b856474fb77bfb3a5267)
* SERVER-63495 Unyielding TransactionRouter never fails except at shutdown and ↵Jack Mulrow2022-03-301-5/+5
| | | | support yielding in cluster commands
* SERVER-64605 Allow internal sessions on standalone replica setsJack Mulrow2022-03-171-23/+0
|
* SERVER-63978 Killing a child session should prevent checking out its parentJack Mulrow2022-02-251-141/+275
|
* SERVER-62020 Make retryable write statements executed with or without ↵Cheahuychou Mao2022-01-141-2/+8
| | | | internal transactions retryable whether or not internal transactions are involved on retries
* SERVER-61086 Make transaction participants check if internal transactions ↵Jason Zhang2021-12-021-15/+0
| | | | are supported during startTransaction
* SERVER-60530 Throw InternalTransactionNotSupported instead of InvalidOptions ↵Jason Zhang2021-10-131-2/+4
| | | | when internal transactions are not supported
* SERVER-59717 Remove stmtId from internal session id for retryable internal ↵Jonathan Lee2021-10-131-26/+26
| | | | transactions
* SERVER-59703 Only support child sessions in sharded clustersJonathan Lee2021-09-281-0/+23
|
* SERVER-58755 Manage lifetime of internal sessions and transactionsJason Zhang2021-09-141-22/+259
|
* SERVER-58751 Make logical session cache track related sessions as one ↵Cheahuychou Mao2021-08-141-0/+24
| | | | logical session
* SERVER-58751 Support internal sessionsCheahuychou Mao2021-08-141-243/+522
|
* SERVER-44978 Remove accidentally added usage of getGlobalServiceContext() ↵Kaloian Manassiev2020-02-261-2/+2
| | | | from ReadWriteConcernDefaults
* SERVER-43987 Require predicates with ↵Ben Caimano2019-10-171-2/+4
| | | | OperationContext::waitForConditionOrInterrupt()
* SERVER-42165 Replace uses of stdx::mutex with mongo::MutexBen Caimano2019-09-171-2/+2
|
* SERVER-41772 Apply clang-format 7.0.1 to the codebaseclang-format-7.0.12019-07-271-18/+24
|
* SERVER-39339 Remove `stdx/memory.h`ADAM David Alan Martin2019-06-101-1/+2
|
* SERVER-37837 Examine and reap sessions from the SessionsCatalogKaloian Manassiev2019-05-171-0/+102
| | | | | This change makes the logical sessions cache query and reap sessions, which are possibly only in-memory on the SessionsCatalog.
* 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-38810 Simplify correct usage of locking in Session/SessionCatalog.Andy Schwerin2019-01-101-41/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces two new types for gaining access to sessions in the session catalog, based on the context of the access. It leaves a third way to access sessions, which is via OperationContextSession::get(). The new types are ObservableSession and SessionToKill. With this change, a thread may access a session in one of three ways: (1) by binding the session to an OperationContext for regular use, by instantiation of OperationContextSession or MongoDOperationContextSession, as before. (2) In the callback passed to SessionCatalog::scanSessions, in which case the callback is passed an ObservableSession that represents looking at a Session while the SessionCatalog mutex is locked and while the bound OperationContext's client mutex is held, if the session is currently checked out via methods (1) or (3). (3) By calling SessionCatalog::checkOutSessionForKill, which returns a KillableSession. This is used for cleaning a session up after it is marked for kill. This patch eliminates Session::_mutex, which is no longer required, as the SessionCatalog::_mutex and the Client provide all necessary mutual exclusion for the Session type itself.
* SERVER-38429 fix lintBenety Goh2018-12-191-1/+1
|
* SERVER-38429 Signal all threads waiting for checking out session on session ↵Siyuan Zhou2018-12-191-0/+60
| | | | checkin
* SERVER-38224 Allow sessions to have more than one outstanding kill requestKaloian Manassiev2018-12-121-10/+33
| | | | Also reverts commit e13e069902099d601c6cf64def9fc374082a629e (SERVER-38058 Make retryable_writes_direct_write_to_config_transactions.js expect ConflictingOperationInProgress) since it is no longer necessary.
* SERVER-37923 Make chunk migration check-out the sessionKaloian Manassiev2018-12-061-81/+37
| | | | | With this change there are no callers which modify the session state without having checked it out first.
* SERVER-37245 Use the SessionCatalog to track sessions on MongoSKaloian Manassiev2018-11-191-2/+2
|
* SERVER-37245 Do not access the SessionCatalog directly if not necessaryKaloian Manassiev2018-11-191-6/+0
| | | | | | | The session catalog should not be accessed directly by majority of the consumers on mongod or mongos, instead they should interact with it through the decorations, which properly validate that the session has been assigned to the OperationContext.
* SERVER-37665 Add interface to explicitly checkin/checkout the OpContext sessionKaloian Manassiev2018-11-161-0/+31
|
* SERVER-37665 Get rid of the 'checkOutSession' parameter of ↵Kaloian Manassiev2018-11-161-32/+20
| | | | | | | | | | | OperationContextSession This simplifies the behaviour of the class and moves all the check-out decision taking to happen in the only consumer - the endpoint. Also renames OperationContextSessionMongoD to MongoDOperationContextSession in order to be in sync with the naming nomenclature of SessionCatalog and MongoDSessionCatalog.
* SERVER-36473 Make a dedicated RAII class to manage Client lifetimeGregory Wlodarek2018-11-081-12/+6
|
* SERVER-37244 Fix race condition due to thread execution timing in ↵Kaloian Manassiev2018-11-021-24/+29
| | | | session_catalog_test
* SERVER-37244 Make sessions killable outside of the ↵Kaloian Manassiev2018-10-311-1/+244
| | | | Session/TransactionParticipant object
* SERVER-37244 Pull the Session state management from SessionRuntimeInfo into ↵Kaloian Manassiev2018-10-301-45/+49
| | | | | | | | Session The session's check-out state is currently duplicated between SessionCatalog's internal container structure and the Session class. This change moves it all to be under Session.
* SERVER-37711 Revert commits related to lock yielding for prepared ↵Kaloian Manassiev2018-10-251-103/+0
| | | | | | | | | | | transactions on step down This change reverts the following commits: * SERVER-35870 Allow stepdown to work with prepared transactions (f96903979ac329a760e7b6f1bb5d8695d3daf2a7) * SERVER-36913 Add functionality to LockManager for repl state transitions with prepared transactions (e65ff57e108ed69c46cc0b0ccbdd675663de2469) * SERVER-35870 Allow more than one thread to block Session checkout at a time (9406af079a894bae80fbbec4703b04974bf84476) * SERVER-35870 Add functionality to prevent Session checkouts & wait for all Sessions to be checked in (c6d90316d6b694e12426274c713a4a078e004fc5)
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-8/+10
|
* SERVER-37244 Move MongoD-specific code out of SessionCatalogKaloian Manassiev2018-10-121-11/+4
|
* SERVER-35870 Allow more than one thread to block Session checkout at a timeSpencer T Brody2018-09-281-0/+34
|
* SERVER-35870 Add functionality to prevent Session checkouts & wait for all ↵Spencer T Brody2018-09-171-0/+69
| | | | Sessions to be checked in
* SERVER-35900 Refactor transaction machinery out from Session classRandolph Tan2018-08-081-90/+5
|
* SERVER-35985 Destroy clients started in other threads.Max Hirschhorn2018-07-061-0/+3
|
* SERVER-34113 Remove all support for snapshot reads outside multi-document ↵Xiangyu Yao2018-06-191-6/+2
| | | | transactions
* SERVER-34811 Forbid reads and writes to the config, admin, and local ↵Tess Avitabile2018-05-081-9/+15
| | | | databases within transactions
* SERVER-33690 Transaction abort and commit should kill any associated client ↵James Wahlin2018-04-161-3/+3
| | | | cursors
* SERVER-33501 Support retryable writes for commitTransaction commandSiyuan Zhou2018-04-111-2/+2
| | | | This reverts commit f205975ea89798fa1b6d91097226ae7b10ad9f3c.
* Revert "SERVER-33501 Support retryable writes for commitTransaction command"William Schultz2018-04-111-2/+2
| | | | This reverts commit 4e1fff07b0d76337232abc682fbbe13c546e5c13.
* SERVER-33501 Support retryable writes for commitTransaction commandSiyuan Zhou2018-04-101-2/+2
|
* SERVER-34051 Require autocommit=false on all transaction operations and add ↵William Schultz2018-04-041-9/+9
| | | | | | | | | | | support for 'startTransaction' argument This patch requires all operations that are part of a multi-statement transaction to specify an autocommit=false command argument. It also adds the 'startTransaction' command argument, which when specified as 'true' indicates that a command is the beginning of a multi-statement transaction.
* SERVER-33922 Remove nestingLevel from SessionCatalog, check for ↵Spencer T Brody2018-03-201-7/+89
| | | | DBDirectClient explicitly instead