summaryrefslogtreecommitdiff
path: root/src/mongo/dbtests/repltests.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-43859: Take MODE_IX locks for collection creation.Daniel Gottlieb2019-11-261-4/+7
| | | | | | | | | | | | | | | | | Two concurrent storage transactions can now create collections with the same collection name. These transactions will conflict at commit time; the first committer will win and register their collection into the global catalog. The losing transactions will bubble a WriteConflictException. Top-level callers that should fail if the collection already existed must now check and fail with a NamespaceExists error code. Previously, those callers could rely on lower level code returning the NamespaceExists error. Callers that were implicitly creating a collection may retry the operation, using the now-registered collection. These transaction-local collections (UncommittedCollections) are returned when doing any CollectionCatalog::lookup* call.
* SERVER-44359: Fix race between oplog visibility thread and timestamped ↵Lingzhi Deng2019-11-021-19/+14
| | | | inserts in dbtest repl
* SERVER-43399 Log more in DeleteOpIsIdBased testA. Jesse Jiryu Davis2019-10-161-20/+20
| | | | Also clean up unused function in repltests.cpp.
* SERVER-43273 Add UUID support to count and getIndexSpecs in DBClientVesselina Ratcheva2019-10-071-2/+2
|
* SERVER-43651 Move fillWriterVectors, multiSyncApply, and syncApply to ↵Mihai Andrei2019-10-021-1/+0
| | | | OplogApplierImpl
* SERVER-43367 unittest framework refactor/fixesBilly Donahue2019-10-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Segregate old-style dbtests into their own Suite initialization system: OldStyleSuiteSpecification. This is where the funky deprecated features can live on without interfering with the Suite API. It also gives us a searchable base class to identify them in the future. OldStyleSuite has `setupTests()` and an `add<T>()` that Suite does not have. Suite API can shrink when it doesn't have to support these dbtest adaptor features. Suite only needs non-template `add(name, callback)`. - Add OldStyleSuiteInitializer to some dbtests that were missing it! These didn't use SuiteInstance to register themselves and were incorrect. They would self register, resulting in _allSuites() holding a std::shared_ptr to a static-duration Suite object! - Change `getSuite()` to return `Suite&` instead of `Suite*`. - No more "self-registering" in Suite constructor. Registration must be done as a separate post-construction step. This removes some unusual lifetime management code and is easier to document. Suite::getSuite(name) is the only way to make a Suite, and it does the make_shared and registration calls with a pseudo-private ConstructorEnable idiom. - Suite->run() returns std::unique_ptr<Result> instead of raw `Result*`. It's virtual to support OldStyleSuite behavior. - Suite._ran does nothing. Removed. - Result.cur does nothing. Removed. - Switch to pass-by-value and std::move for most ctor args. - Add explicit on 1-arg ctors. - Get rid of TestHolder. It's just a 2-field struct. - use fmt instead of snprintf - TEST and TEST_F macros: generate TEST_TYPE once. - TEST and TEST_F macros: inline the _agent variable. - Mark _doRun as `override`. - Terminology: replace CASE_NAME with SUITE_NAME. - rename DeathTestImpl -> DeathTestBase - move getDeathTestPattern into the test as a static member function - refactor out some repetition from the comparator decl macros - use if-constexpr and diamond relops to clean up the ComparisonAssertion class. - dbtests: conditionally skip some add<T> calls - further dedup (DEATH_)TEST(_F) macros
* SERVER-43691 Make repltests.cpp tests independentA. Jesse Jiryu Davis2019-10-011-5/+5
|
* SERVER-41496 Remove Database::getCollection() and replace with ↵Evgeni Dobranov2019-09-301-5/+5
| | | | CollectionCatalog::get().lookupCollectionByNamespace()
* SERVER-43203 remove dbtests that were not runJudah Schvimer2019-09-241-30/+0
|
* SERVER-42589 Made the wall field in oplog_entry.idl a required fieldXuerui Fa2019-09-041-1/+1
|
* SERVER-42497: Detect unintentional untimestamped writes to the durable catalog.Daniel Gottlieb2019-08-211-0/+8
|
* SERVER-42022 Remove missing-document fetcherA. Jesse Jiryu Davis2019-08-211-91/+0
|
* SERVER-37180: Use OplogEntry everywhere in oplog applicationLingzhi Deng2019-07-291-1/+2
|
* SERVER-41772 Apply clang-format 7.0.1 to the codebaseclang-format-7.0.12019-07-271-1/+1
|
* SERVER-41788 put oplog application mode on applier optionsJudah Schvimer2019-07-021-2/+7
|
* SERVER-39339 Remove `stdx/memory.h`ADAM David Alan Martin2019-06-101-1/+1
|
* SERVER-39809 Remove the prepare root field of oplog entrySiyuan Zhou2019-05-211-2/+1
|
* SERVER-40724 Change namespace arguments to use NamespaceStringGeert Bosch2019-04-261-10/+15
|
* SERVER-40169 OplogEntry constructor accepts prepare argumentBenety Goh2019-04-051-1/+2
|
* SERVER-39560 - remove leading blank line on all C++ filesBilly Donahue2019-02-131-4/+0
| | | | | | Remove leading comments that are just stating the filename. Move any file-level comments below the copyright banner. Remove leading blank lines.
* SERVER-30815 Remove the mongodmain libraryAndrew Morrow2018-11-271-1/+0
|
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-14/+16
|
* SERVER-37227 Reintroduce enableMajorityReadConcern:false server parameterTess Avitabile2018-10-021-0/+9
|
* SERVER-36084 Remove sharding runtime dependency from OpObserverImplHenrik Edin2018-09-201-2/+2
| | | | | Implement a new subclass of OpObserverImpl to handle the sharding logic. Can hopefully be a pure subclass of just OpObserver when OpTimes can be passed into observers.
* SERVER-36094 Make DBClientBase::query() take an NamespaceStringOrUUIDMatthew Russotto2018-08-141-4/+5
|
* SERVER-35516 Get rid of OldClientWriteContextKaloian Manassiev2018-06-151-1/+1
|
* SERVER-35343 SyncTail::fetchAndInsertMissingDocument() no longer returns a boolBenety Goh2018-06-131-2/+2
|
* SERVER-35343 convert repl dbtest to use OplogApplier::ObserverBenety Goh2018-06-131-3/+19
|
* SERVER-32335 replace SyncTail::setHostname with OplogApplier optionBenety Goh2018-05-251-2/+5
|
* SERVER-32334 OplogApplier and SyncTail accept ReplicationConsistencyMarkers ↵Benety Goh2018-05-021-2/+4
| | | | and StorageInterface at construction
* SERVER-31802 SERVER-31239 Remove master-slave replication and resync command.Andy Schwerin2018-03-131-57/+8
|
* SERVER-32445 config.transactions table can get out of sync when the ↵Randolph Tan2018-03-121-0/+1
| | | | | | TransactionReaper remove entries Secondary replication of config.transactions table is now changed to create oplog entries of the actual updates to mirror what the primary would have done.
* SERVER-33732 SyncTail no longer owns its writer thread poolBenety Goh2018-03-081-2/+2
| | | | | This brings the ownership contract between SyncTail and the writer thread pool closer to that between repl::multiApply() and its ThreadPool argument.
* SERVER-33300 Integrate TransportLayer with DBClientJonathan Reams2018-03-021-0/+11
|
* SERVER-29519 Remove getGlobalReplicationCoordinator. Replace when getting ↵Nick Zolnierz2018-03-021-7/+13
| | | | | | decoration through service context (global if needed). This reverts commit a8fddd07a740e959646995ef93139887b3b3eb5c.
* Revert "SERVER-29519 Remove getGlobalReplicationCoordinator. Replace when ↵Nick Zolnierz2018-03-021-13/+7
| | | | | | getting decoration through service context (global if needed)." This reverts commit 7d37a75df3f6035a7afcb51123b88f0e99308fc8.
* SERVER-29519 Remove getGlobalReplicationCoordinator. Replace when getting ↵Henrik Edin2018-03-021-7/+13
| | | | decoration through service context (global if needed).
* SERVER-29519 Removed many usages of getGlobalReplicationCoordinatorHenrik Edin2018-01-221-1/+1
|
* SERVER-32506 OSX Mobile SE variant: Tag tests to skip on mobile SESulabh Mahajan2018-01-181-0/+32
|
* SERVER-29200 migrate SyncTail::getMissingDoc() and ↵Benety Goh2018-01-161-11/+38
| | | | fetchAndInsertMissingDoc() to accept OplogEntry instead of BSONObj
* SERVER-32343 dbtest repl suite restores ReplicationCoordinator settings on ↵Alexander Paderin2018-01-091-5/+10
| | | | | | | | tear down. Closes #1193 Signed-off-by: Benety Goh <benety@mongodb.com>
* SERVER-28620 Adorn all oplog writes with timestampsEric Milkie2017-08-221-10/+13
| | | | | | | These timestamps are now used to implement oplog visibility rules, in place of the current in-memory vector of uncommitted ops that the WiredTiger glue code currently uses. This change also introduces a TimestampedBSONObj class, which encapsulates a BSONObject with its associated write timestamp.
* SERVER-28772 Remove the $pushAll modifier.Justin Seyster2017-08-101-51/+0
| | | | | | | | | The $pushAll modifier was deprecated and is now unsupported. Clients should switch to the $push modifier with $each to get $pushAll behavior. This patch also updates some copyright notices that should have been updated as part of file renames in bf99c6.
* SERVER-30353 Create an index observer to notify us of changes made to index ↵Gregory Wlodarek2017-08-091-0/+1
| | | | and document keys
* SERVER-28912 Thread statement id from batched insert command oplog entryRandolph Tan2017-07-121-2/+4
|
* SERVER-27581 Only fetch missing documents on update oplog entries during initialJudah Schvimer2017-07-111-6/+6
| | | | sync
* SERVER-28509 Make DBClientCursor store batch as vector<BSONObj>Mathias Stearn2017-06-281-1/+1
|
* SERVER-27992 Use UUIDs for replicationGeert Bosch2017-06-231-15/+0
|
* SERVER-27244 Status usage compile-time facilities.ADAM David Alan Martin2017-06-181-2/+2
| | | | | | | | | | | | | | | | | There are numerous places in the codebase where `mongo::Status` or `mongo::StatusWith< T >` objects are returned and never checked. Many of these are innocuous, but many of them are potentially severe bugs. This change introduces facilities to permit compile-time warning of unchecked `Status` and `StatusWith` usage on clang compilers. It introduces an `ignore` function which is useful to state that a specific "ignored status" case was intentional. It not presently an error, in clang builds, to forget to check a `Status` -- this will come in a later commit. This also introduces a `transitional_ignore` function, which allows for easy continual auditing of the codebase for current "whitelisted" unchecked-status instances. All present "ignored status" cases have been marked `transitional_ignore`.
* SERVER-28543 Add OperationContext as an argument to getCollectionMaria van Keulen2017-04-061-5/+5
|