summaryrefslogtreecommitdiff
path: root/src/mongo/db/read_concern_mongod.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-42165 Replace uses of stdx::mutex with mongo::MutexBen Caimano2019-09-171-3/+3
|
* SERVER-41359 Stop upconverting readConcern to snapshot internally for ↵Samyukta Lanka2019-09-031-2/+8
| | | | transactions
* SERVER-39996 Moved setting ignorePrepared behavior outside of ↵Suganthi Mani2019-08-261-22/+28
| | | | waitForReadConcern.
* SERVER-40466 Unify checks for being in a multi-document transactionSamy Lanka2019-08-081-4/+3
|
* SERVER-41772 Apply clang-format 7.0.1 to the codebaseclang-format-7.0.12019-07-271-7/+5
|
* SERVER-41525 Use ignore_prepare=force for transactions that correctly do ↵Louis Williams2019-06-111-10/+24
| | | | writes while ignoring prepare conflicts
* SERVER-41091 Check ShardingState::enabled before calling ↵Jamie Heppenstall2019-06-071-0/+6
| | | | ShardingState::shardId in makeNoopWriteIfNeeded
* SERVER-39293 Correct string literals for oplog collection namespaceJudah Schvimer2019-06-041-8/+12
|
* SERVER-40688 Make CollectionLock take NamespaceStringGeert Bosch2019-04-171-1/+1
|
* SERVER-40604 Make CollectionLock interruptibleGeert Bosch2019-04-151-1/+1
|
* SERVER-40227 Pass ignore prepare behavior from a command attribute rather ↵Louis Williams2019-03-261-14/+4
| | | | than using a whitelist
* SERVER-39074 All operations enforce prepare conflicts by defaultLouis Williams2019-03-191-9/+41
| | | | | | | | | | | | Prepare conflicts may only be safely ignored when a command can guarantee it does not perform writes. Prepare conflicts are ignored when the read concern is local, available, or majority and the command is aggregate, count, distinct, find, getMore, or group. Aggregate is a special case because it may perform writes to an output collection, but it enables prepare conflict enforcement before doing so. Additionally, connections from a DBDirectClient inherit the ignore_prepare state from their parent operation.
* SERVER-39356 Make speculative majority change stream reads utilize the ↵William Schultz2019-03-151-8/+13
| | | | | | `kNoOverlap` timestamp read source Speculative majority change streams provide "majority" read guarantees by reading from a local snapshot of data and then waiting for that data to become majority committed, instead of reading directly from a majority committed snapshot. In order to satisfy this guarantee a speculative majority read must wait for the proper timestamp to become majority committed after reading data. If the newest data it read reflects a timestamp T, then it must wait for a timestamp >= T to become majority committed. In general, waiting on replication's lastApplied timestamp is not safe, since it is possible for writes to be visible to readers even if those writes have not yet advanced the in-memory value of lastApplied. To work around this issue for speculative majority reads, we instead choose to read from an explicitly chosen timestamp in the storage engine, and then wait on that timestamp to majority commit. This gives us a more direct way to know what timestamp the data we read reflects. We utilize the `kNoOverlap` read source, which allows us to read from the min(lastApplied, all_committed), which is a convenient way to make these reads work correctly on both primaries and secondaries.
* SERVER-39942 Extract transaction library from catalog_raii library.Siyuan Zhou2019-03-151-1/+0
|
* SERVER-39356 Refactor speculative majority read data structures and methods ↵William Schultz2019-03-061-19/+19
| | | | | | to use timestamps instead of optimes This patch refactors the SpeculativeMajorityReadInfo class and the awaitOpTimeCommitted method to accept timestamps as input instead of optimes. When waiting for an operation to majority commit, term information, which is included in optimes, isn't necessary, since timestamps are totally ordered within a local oplog, and so are safely comparable. It is, for example, safe to determine if a local oplog entry is majority committed by checking if its timestamp is less than that node's local view of the majority commit point. This patch should not introduce any observable functional changes.
* SERVER-39539 IDL'ify waitForSecondaryBeforeNoopWriteMS server parameterHenrik Edin2019-02-251-14/+11
|
* SERVER-37948 Satisfy linearizable read concern on getmore cursors.Jason Chan2019-02-141-3/+3
|
* SERVER-38855 Perform noop writes on config servers to reach requested ↵Blake Oler2019-02-141-3/+6
| | | | at/afterClusterTime
* Revert "SERVER-37948 Satisfy linearizable read concern on getMores"Louis Williams2019-02-141-3/+3
| | | | This reverts commit 0cdb86f3cf2bbabe448669598c32297f5ec8214f.
* SERVER-37948 Satisfy linearizable read concern on getMoresJason Chan2019-02-131-3/+3
|
* 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-38727 Remove TODO and update comment about speculative majority read ↵William Schultz2019-01-231-4/+6
| | | | timeout
* SERVER-38755 Stop closing connections on stepdown gated by server parameter ↵Matthew Russotto2019-01-151-0/+10
| | | | "closeConnectionsOnStepdown" flag.
* SERVER-37560 Add core functionality for speculative majority readsWilliam Schultz2018-12-211-0/+52
| | | | This patch adds functionality for "speculative" majority reads. These are reads that can satisfy "majority" read concern guarantees without support from the storage engine for reading from a historical snapshot. Queries of this nature will, by default, wait on the most recent lastApplied optime to majority commit after they complete, but before returning to the client. They can also optionally set a custom optime T to wait on, if they know that they did not read any data that reflects the effects of operations newer than optime T.
* SERVER-34620 Make speculative read atClusterTime not wait for the given ↵Matthew Russotto2018-12-061-20/+6
| | | | cluster time to be majority-committed
* SERVER-36311 Add stepdowns, crashes, and shutdowns to ↵jannaerin2018-11-151-1/+2
| | | | replica_sets_multi_stmt_txn_jscore_passthrough suite
* SERVER-37179 Pull out starting transaction from session checkout and push it ↵Siyuan Zhou2018-11-081-10/+2
| | | | | | | | down to before command execution. Transaction will begin or continue after waiting for read concern. If an error is thrown on starting transaction, it'll be able to wait for write concern if a write concern is specified.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-26/+28
|
* SERVER-37514 Snapshot readConcern without atClusterTime should always be ↵Tess Avitabile2018-10-111-3/+5
| | | | speculative
* SERVER-37299 Remove dependency on s/grid from rw_concern_d.Henrik Edin2018-10-041-0/+385
Read concern implementation shim'd out and separate for mongod and embedded.