Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | SERVER-40372 Track transaction size | Tess Avitabile | 2019-11-01 | 1 | -1/+3 |
| | |||||
* | SERVER-42987 make it safe to interrupt abortTransaction | Judah Schvimer | 2019-09-11 | 1 | -0/+4 |
| | |||||
* | SERVER-39614 replace inActiveOrKilledMultiDocumentTransaction with ↵ | Pavithra Vetriselvan | 2019-09-03 | 1 | -9/+0 |
| | | | | inMultiDocumentTransaction | ||||
* | SERVER-39613 Remove kCommittingWithPrepare and kCommittingWithoutPrepare ↵ | Siyuan Zhou | 2019-08-26 | 1 | -19/+4 |
| | | | | from TransactionState | ||||
* | SERVER-41457 Unify the different ways the TransactionParticipant offers for ↵ | Matthew Russotto | 2019-08-21 | 1 | -29/+10 |
| | | | | aborting a transaction | ||||
* | SERVER-40983 Track and log relevant single transaction metrics on mongos for ↵ | Blake Oler | 2019-08-14 | 1 | -1/+1 |
| | | | | currentOp | ||||
* | SERVER-41766 Remove obsolete code for tracking multikey writes inside ↵ | William Schultz | 2019-08-12 | 1 | -23/+0 |
| | | | | | | multi-document transactions Now that we update the multikey flag within a transaction in a side transaction, the in-memory state about the multikey write will be naturally visible to subsequent writes inside the transaction, so we don't need to keep around any extra structures to enforce this anymore. | ||||
* | SERVER-40466 Unify checks for being in a multi-document transaction | Samy Lanka | 2019-08-08 | 1 | -10/+14 |
| | |||||
* | SERVER-42398 On primary, abortTransaction and commitTransaction commands ↵ | Suganthi Mani | 2019-07-25 | 1 | -12/+12 |
| | | | | should not acquire ticket irrespective of the prepared state. | ||||
* | SERVER-41980 Prepared transactions should not acquire ticket on primary. | Suganthi Mani | 2019-07-25 | 1 | -6/+22 |
| | |||||
* | SERVER-41881 Unstashing the transaction lock resources should ignore the ↵ | Suganthi Mani | 2019-07-24 | 1 | -5/+21 |
| | | | | | | | saved value of maxLockTimeout and explicitly set the maxLockTimeout based on node's state. SERVER-41883 Replication state transition reacquires locks and tickets of a prepared transaction with no lock timeout. SERVER-41556 Handles failure to reacquire locks and ticket when unstashing transactions. | ||||
* | SERVER-42251 Timestamp multikey writes with the prepare timestamp during ↵ | William Schultz | 2019-07-23 | 1 | -0/+16 |
| | | | | | | replication recovery Now that we execute multikey catalog updates in a side transaction, we need to give them some suitable timestamp. In normal replication, we can grab the latest value of the LogicalClock. In startup recovery, though, we may replay a prepared transaction that does a multikey write, but the LogicalClock may not have been initialized yet. Thus, we use the prepare timestamp of the transaction for the multikey write, since that timestamp is guaranteed to be less than or equal to the commit timestamp of the transaction. | ||||
* | Revert "SERVER-41881 Unstashing the transaction lock resources should ignore ↵ | Ian Boros | 2019-07-23 | 1 | -21/+5 |
| | | | | | | the saved value of maxLockTimeout and explicitly set the maxLockTimeout based on node's state." This reverts commit b7cec5064fb03f1e1f9bd39af35e495facfdcdc9. | ||||
* | Revert "SERVER-41980 Prepared transactions should not acquire ticket on ↵ | Ian Boros | 2019-07-23 | 1 | -22/+6 |
| | | | | | | primary." This reverts commit a5d4ab967af9cbba17e6aa5afadca35927bd74c1. | ||||
* | SERVER-41980 Prepared transactions should not acquire ticket on primary. | Suganthi Mani | 2019-07-21 | 1 | -6/+22 |
| | |||||
* | SERVER-41881 Unstashing the transaction lock resources should ignore the ↵ | Suganthi Mani | 2019-07-15 | 1 | -5/+21 |
| | | | | | | | saved value of maxLockTimeout and explicitly set the maxLockTimeout based on node's state. SERVER-41883 Replication state transition reacquires locks and tickets of a prepared transaction with no lock timeout. SERVER-41556 Handles failure to reacquire locks and ticket when unstashing transactions. | ||||
* | SERVER-39610 Remove outdated references to the metrics mutex in the ↵ | William Schultz | 2019-07-02 | 1 | -0/+2 |
| | | | | TransactionParticipant and simplify some metrics reporting logic | ||||
* | SERVER-36529 OpObservers for session operations should pass SessionTxnRecord | Judah Schvimer | 2019-06-25 | 1 | -12/+3 |
| | |||||
* | SERVER-41838 Release RSTL if we choose not to commit a prepared transaction ↵ | Judah Schvimer | 2019-06-25 | 1 | -0/+3 |
| | | | | after reacquiring it | ||||
* | SERVER-39489 Remove optime creation in TransactionParticipant | Judah Schvimer | 2019-05-22 | 1 | -33/+5 |
| | |||||
* | SERVER-36956 SnapshotTooOld errors will always increase the snapshot history ↵ | Dianna | 2019-05-17 | 1 | -1/+1 |
| | | | | window size | ||||
* | SERVER-39794 Abort in-progress transactions on stepup | Siyuan Zhou | 2019-05-14 | 1 | -0/+5 |
| | |||||
* | SERVER-39438 Write "abortTransaction" oplog entry when aborting unprepared ↵ | Jason Chan | 2019-05-14 | 1 | -1/+3 |
| | | | | transactions with replicated operations | ||||
* | SERVER-37235 Use an onCommit/Abort handler to complete session kill on ↵ | Kaloian Manassiev | 2019-05-14 | 1 | -20/+16 |
| | | | | direct writes to `config.transactions` | ||||
* | SERVER-40498 Writing transaction oplog entries must not take locks while ↵ | Siyuan Zhou | 2019-05-08 | 1 | -0/+6 |
| | | | | holding an oplog slot. | ||||
* | SERVER-40498 Side transaction keeps the same locker | Siyuan Zhou | 2019-05-03 | 1 | -5/+8 |
| | |||||
* | SERVER-40808 Recovering a transaction's outcome should block if the ↵ | Esha Maharishi | 2019-05-02 | 1 | -2/+18 |
| | | | | participant is in prepare | ||||
* | SERVER-40475 Migrate sentinel entry for retryable writes converted to ↵ | Matthew Saltz | 2019-05-02 | 1 | -1/+5 |
| | | | | transactions | ||||
* | SERVER-40018 Remove oldestOplogEntryOpTime from TransactionMetricsObserver ↵ | Samy Lanka | 2019-04-17 | 1 | -7/+0 |
| | | | | and TransactionParticipant | ||||
* | SERVER-40476 remove mongoutils::str | Billy Donahue | 2019-04-09 | 1 | -1/+1 |
| | | | | | | Rename utils/mongoutils/str.h => utils/str.h Rename namespace mongoutils::str => str Rename mongo::strcasecmp => str::caseInsensitiveCompare. | ||||
* | SERVER-40508 Remove hash from OplogSlot and make OplogSlot an alias for OpTime.r4.1.10 | Siyuan Zhou | 2019-04-09 | 1 | -2/+2 |
| | |||||
* | SERVER-39842 Allow update to shard key value if retryable write | jannaerin | 2019-04-09 | 1 | -0/+5 |
| | |||||
* | Revert "SERVER-35811 disallow committing at the prepareTimestamp and pin ↵ | Pavi Vetriselvan | 2019-04-01 | 1 | -7/+0 |
| | | | | | | stable TS before oldest uncommitted TS" This reverts commit b58420e57a2149c350ebf82815fe708850402296 and 33ac1afd4079e04d12554f9b79d1ab07426caf59. | ||||
* | SERVER-35114 Adjustable periods for PeriodicJobs | Jason Carey | 2019-03-29 | 1 | -0/+3 |
| | | | | Add support for changing the period of a periodic job | ||||
* | SERVER-39840 Add kExecutedRetryableWrite state to allow unstarted retryable ↵ | Blake Oler | 2019-03-29 | 1 | -1/+10 |
| | | | | writes to "upgrade" to transactions | ||||
* | SERVER-40357 expand all calls to MONGO_DISALLOW_COPYING | Billy Donahue | 2019-03-28 | 1 | -2/+2 |
| | | | | | | | | | | | 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-39792 Update the txn table only on the first txn operation on primary | Jason Chan | 2019-03-25 | 1 | -2/+4 |
| | |||||
* | SERVER-39679 Get oldest transaction time when snapshotting | A. Jesse Jiryu Davis | 2019-03-21 | 1 | -3/+6 |
| | |||||
* | SERVER-39441 Write the new 'prepareTransaction' command on primary | Jason Chan | 2019-03-11 | 1 | -6/+13 |
| | |||||
* | Revert "SERVER-39441 Write the new 'prepareTransaction' command on primary" | Benety Goh | 2019-03-07 | 1 | -13/+6 |
| | | | | This reverts commit 86c1120002b6f28183f024f373ecc58123624a46. | ||||
* | SERVER-39441 Write the new 'prepareTransaction' command on primary | Jason Chan | 2019-03-07 | 1 | -6/+13 |
| | |||||
* | SERVER-39874 Make shard return readOnly bool in response to successful ↵ | Esha Maharishi | 2019-03-07 | 1 | -0/+6 |
| | | | | transaction statements | ||||
* | SERVER-39139 Disallow starting transactions on secondaries | Vesselina Ratcheva | 2019-03-06 | 1 | -46/+26 |
| | | | | This reverts commit a74b2f39025fee2c59aa5437deea6e06f05e18ca. | ||||
* | SERVER-39680 Save start timestamp in config.transactions | A. Jesse Jiryu Davis | 2019-03-06 | 1 | -2/+11 |
| | |||||
* | SERVER-39732 Migrate transaction participant set parameters to IDL | Sara Golemon | 2019-03-01 | 1 | -2/+0 |
| | |||||
* | Revert "SERVER-39139 Disallow starting transactions on secondaries" | Vesselina Ratcheva | 2019-02-27 | 1 | -26/+46 |
| | | | | This reverts commit 58fad7d7efa275beb4a6a83f90d3dd222bbb534b. | ||||
* | SERVER-39139 Disallow starting transactions on secondaries | Vesselina Ratcheva | 2019-02-26 | 1 | -46/+26 |
| | |||||
* | SERVER-38906 No-op write after readonly transaction | A. Jesse Jiryu Davis | 2019-02-20 | 1 | -8/+3 |
| | |||||
* | SERVER-38906 Txns read without timestamp by default | A. Jesse Jiryu Davis | 2019-02-20 | 1 | -3/+3 |
| | |||||
* | SERVER-38810 Use Session's concurrency control rules instead of internal ↵ | Andy Schwerin | 2019-02-15 | 1 | -641/+673 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. |