summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/txn_two_phase_commit_cmds.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-46796 Propagate specific errors during transaction prepare to the clientGregory Noma2020-04-281-9/+11
|
* 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-46799 Update sharding log lines to adhere to LOGV2 style guideMatthew Saltz2020-03-311-14/+14
|
* SERVER-45567 removing util/log.h where I canGabriel Russell2020-02-211-1/+0
| | | | | | | o converting some log lines that were missed o fixing some missing includes create mode 100644 src/mongo/transport/ismaster_metrics.cpp
* SERVER-45405 Allow implicit collection creation inside multi-doc txnsMaria van Keulen2020-02-191-0/+5
|
* SERVER-45869 automatically converted structured loggingGabriel Russell2020-02-131-11/+23
|
* SERVER-45800: Set client lastOp to max(prepareOpTime, lastAppliedOpTime, ↵Lingzhi Deng2020-01-301-10/+9
| | | | | | current lastOp) in PrepareTransactionCmd create mode 100644 jstests/replsets/retrying_prepared_transaction_does_not_block_stepdown.js
* SERVER-39364: Get the last oplog entry from the storage engine for ↵Lingzhi Deng2020-01-151-1/+1
| | | | setLastOpToSystemLastOpTime
* SERVER-43119 FailPoint cleanupBilly Donahue2019-09-101-7/+6
| | | | | | | | | | | - 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-40987 Output transaction information in curOp for coordinator workerLamont Nelson2019-08-221-0/+7
| | | | threads.
* SERVER-42772 Return transaction commit decision from onCompletion future in ↵Matthew Saltz2019-08-211-12/+8
| | | | TransactionCoordinator
* SERVER-41457 Unify the different ways the TransactionParticipant offers for ↵Matthew Russotto2019-08-211-4/+3
| | | | aborting a transaction
* SERVER-40466 Unify checks for being in a multi-document transactionSamy Lanka2019-08-081-2/+2
|
* SERVER-41925 enumerate the FCV 4.4 dependencies in the sharding codeMisha Tyulenev2019-08-061-6/+0
|
* SERVER-42481 Remove FCV checks around prepared transactionsJason Chan2019-08-011-5/+0
|
* SERVER-41772 Apply clang-format 7.0.1 to the codebaseclang-format-7.0.12019-07-271-6/+5
|
* SERVER-41369 Terminate the TransactionCoordinator retry logic if read ↵Kaloian Manassiev2019-07-231-9/+14
| | | | concern majority is not available
* SERVER-36824 prevent prepareTransaction command on standalonePavi Vetriselvan2019-06-271-0/+5
|
* SERVER-41780 always wait for write concern on prepareTransaction retriesJudah Schvimer2019-06-251-7/+13
|
* SERVER-33727 Do not wait for write concern if opTime didn't change during writeJames Wahlin2019-05-231-1/+1
|
* SERVER-40808 Recovering a transaction's outcome should block if the ↵Esha Maharishi2019-05-021-58/+50
| | | | participant is in prepare
* SERVER-37886 Make prepareTransaction set Client last OpTime to the greater ↵Jack Mulrow2019-04-151-4/+7
| | | | | | of the prepare OpTime and system last OpTime if the Client's last OpTime is less than the prepare OpTime This reverts commit bc276668e8d992ff833fdbfd0f4280419d11eda1.
* SERVER-40297 Make the TransactionCoordinator entirely futures-basedKaloian Manassiev2019-04-031-46/+62
|
* SERVER-35394 Ensure that only the internal role can run the ↵Gregory Wlodarek2019-03-241-1/+8
| | | | prepareTransaction command
* SERVER-40223 Use the AsyncWorkScheduler to run local command when recovering ↵Kaloian Manassiev2019-03-211-44/+21
| | | | a coordinator decision
* Revert "SERVER-40223 Use the AsyncWorkScheduler to run local command when ↵Kaloian Manassiev2019-03-211-21/+44
| | | | | | recovering a coordinator decision" This reverts commit cc2b4b907aaf788f356ec23e1b315ea5d7b2cf82.
* SERVER-40223 Use the AsyncWorkScheduler to run local command when recovering ↵Kaloian Manassiev2019-03-211-53/+27
| | | | | | a coordinator decision ... instead of the TaskExecutor
* Revert "SERVER-37886 Make prepareTransaction set Client last OpTime to the ↵Esha Maharishi2019-03-081-7/+4
| | | | | | greater of the prepare OpTime and system last OpTime if the Client's last OpTime is less than the prepare OpTime" This reverts commit 8f3ad3eab4631a393cb4c2bfff69015baf63ebc9.
* SERVER-37886 Make prepareTransaction set Client last OpTime to the greater ↵Esha Maharishi2019-03-081-4/+7
| | | | of the prepare OpTime and system last OpTime if the Client's last OpTime is less than the prepare OpTime
* SERVER-39058 Synchronize user set modification in AuthorizationSession with ↵Shreyas Kalyan2019-02-261-1/+1
| | | | Client
* SERVER-38810 Use Session's concurrency control rules instead of internal ↵Andy Schwerin2019-02-151-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mutexes in TransactionParticipant This type simplifies and clarifies concurrency control in TransactionParticipant by: (1) Removing TP's own mutexes and using the Session concurrency control rules, instead. That is, certain state is only accessible when the Session is checked out, and requires no further locking. Other state is observable either while holding the client lock or while having checked out the Session. The latter type of state is modifiable only when having checked out the session and locked the client. (2) Separating the two types of state in (1) into separate sub-structures in TransactionParticipant, to make it clear who can access what state, (3) Putting all methods formerly on TransactionParticipant onto new member classes, TransactionParticipant::Participant and TransactionParticipant::Observer. The latter can only read the observable state from (1) above, and the participant may read or modify all of the state. The two types introduced by (3) are designed to enforce proper concurrency control by limiting access of their methods to the underlying TransactionParticipant member variables. The observer type has a private o() method which its other methods are required by convention to use in order to obtain read-only access to the Observable state of the TransactionParticipant. The participant type has the o() method plus an o(WithLock) method that allows mutation of the state while holding the client lock, and a p() method which allows reading and writing of the private state with no other locks. Please see the implementation in transaction_participant.cpp for examples. It is worth noting that with this change, locking the Client is not needed often and never for long, and there is no need for separate mutexes for participant state and monitoring state.
* 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-38521 Move all TransactionCoordinator sources to be under db/sKaloian Manassiev2019-02-121-2/+1
|
* SERVER-39187 Signal coordinator's decision promise when the coordinator is ↵Matthew Saltz2019-01-301-0/+3
| | | | canceled before beginning commit
* SERVER-38978 coordinateCommitTransaction should send abortTransaction over ↵Esha Maharishi2019-01-241-6/+68
| | | | the loopback
* SERVER-38522 Make ↵Kaloian Manassiev2019-01-031-17/+18
| | | | | | persistParticipantList/persistDecision/deleteCoordinatorDoc asynchronous Also splits TransactionCoordinator util into driver and futures components
* SERVER-36853 coordinateCommitTransaction should set the Client's last OpTime ↵Esha Maharishi2018-12-111-0/+5
| | | | to the system last OpTime before returning a decision
* SERVER-36638 Make coordinator commit fully asynchronousMatthew Saltz2018-12-051-2/+2
|
* SERVER-37440 coordinateCommit should fall back to recovering decision from ↵Esha Maharishi2018-11-291-30/+58
| | | | local participant
* SERVER-37665 Get rid of the 'checkOutSession' parameter of ↵Kaloian Manassiev2018-11-161-1/+1
| | | | | | | | | | | 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-37558 Fail prepareTransaction command against primary when replica ↵Vesselina Ratcheva2018-11-131-6/+13
| | | | set contains an arbiter
* SERVER-37559 Fail prepareTransaction command against replica set primary ↵Vesselina Ratcheva2018-11-081-0/+6
| | | | with enableMajorityReadConcern:false
* SERVER-37882 Switch the distributed transaction commit protocol to the RPC ↵Esha Maharishi2018-11-071-255/+16
| | | | protocol
* SERVER-37179 Pass the reference of OperationSessionInfoFromClient around.Siyuan Zhou2018-10-241-2/+4
|
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-14/+16
|
* SERVER-37621 Move logging in transaction command bodies to after checking ↵Esha Maharishi2018-10-121-5/+5
| | | | that the command was sent with session info
* SERVER-37553 Log sending and receiving every message in the transaction two ↵Esha Maharishi2018-10-111-1/+29
| | | | phase commit protocol
* SERVER-37363 Return Future with commit decision from coordinateCommitMatthew Saltz2018-10-041-4/+19
|
* SERVER-36304 A transaction participant should send voteCommit to the ↵Esha Maharishi2018-09-271-13/+109
| | | | coordinator if prepare succeeded
* SERVER-37320 Prevent prepareTransaction from running on anything but ↵Esha Maharishi2018-09-271-1/+12
| | | | initialized shard servers or config servers, except under failpoint