summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/process_interface_shardsvr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-40258 Relax locking requirements for sharding metadata refresh on shardsRandolph Tan2019-06-271-2/+3
|
* SERVER-41294 shard filtering for $sbIan Boros2019-06-071-0/+8
|
* SERVER-41487 Fix $merge mode whenNotMatched:fail to send updates to mongosAnton Korshunov2019-06-061-16/+18
|
* SERVER-40015 make $sb work shardedIan Boros2019-05-281-1/+1
|
* SERVER-41115 Add $merge support for $$NOW and $$CLUSTER_TIMEBernard Gorman2019-05-241-2/+1
|
* SERVER-41043 Add 'let' field support for merge stageAnton Korshunov2019-05-231-8/+3
|
* SERVER-40431 Add merge support for whenMatched: pipelineAnton Korshunov2019-05-131-1/+1
|
* SERVER-40892 Rename UUIDCatalog to CollectionCatalogGeert Bosch2019-05-071-1/+1
|
* SERVER-40688 Make CollectionLock take NamespaceStringGeert Bosch2019-04-171-1/+1
|
* SERVER-40604 Make CollectionLock interruptibleGeert Bosch2019-04-151-1/+1
|
* SERVER-38810 Use Session's concurrency control rules instead of internal ↵Andy Schwerin2019-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-39269 flag gate sharded $lookupIan Boros2019-02-071-2/+9
|
* SERVER-38728 allow pipeline with lookup stage on sharded collection to run ↵Ian Boros2019-01-291-0/+47
| | | | on mongod
* SERVER-37871 Enforce agreement on shard key across cluster for $outCharlie Swanson2018-11-211-0/+8
|
* SERVER-37982 Distinguish use cases for collecting document key fieldsCharlie Swanson2018-11-161-48/+15
|
* SERVER-32198 Split CollectionShardingState::getMetadata into three methodsKaloian Manassiev2018-11-141-4/+4
| | | | | | | | | | | | | o getCurrentMetadataIfKnown - which returns the current filtering metadata if any is available o getMetadataForOperation - which returns the metadata which is required by the current opertion, based on the OperationShardingState o getCurrentMetadata - which returns the currently available filtering metadata (or UNSHARDED if not known) This is in preparation for making getMetadataForOperation/getCurrentMetadata throw StaleShardVersion exception if the metadata has not been loaded yet.
* SERVER-36813 Be careful when choosing default uniqueKeyCharlie Swanson2018-11-011-4/+6
| | | | | | | | Before doing so, refresh the catalog cache to make sure the mongos serving the request is at least somewhat up to date. Additionally, communicate the epoch used to choose the uniqueKey from mongos to the shards, and raise an error from the shards and terminate the aggregation if the epoch of the targeted collection ever changes.
* SERVER-37191 writeConcern for $outNick Zolnierz2018-10-311-15/+36
|
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-21/+23
|
* SERVER-37229: Switch to unordered write ops ini $outNick Zolnierz2018-10-121-89/+0
|
* SERVER-37295 Remove embedded dependency on process interface shard server.Henrik Edin2018-10-031-0/+245
Refactor process interface system to use shim to allow for separate factories for embedded and mongod.