summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/dbcheck.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-75440 Add new consistency check for preimagesJordi Olivares Provencio2023-04-281-3/+7
|
* SERVER-74793 dbCheck should not fail when detecting corruptionLouis Williams2023-04-191-1/+24
|
* SERVER-75617 Make fallthroughs explicit using the new attributeMatt Kneiser2023-04-041-2/+2
|
* Revert "SERVER-74681 Allow dbhash to accept an _id range"Sviatlana Zuiko2023-03-211-28/+11
| | | | This reverts commit 9662f3c9edfd52ce4c9b0cad619bed57562a3daa.
* SERVER-74681 Allow dbhash to accept an _id rangeSophia Tan2023-03-161-11/+28
|
* SERVER-73497 Create an interface for the HealthLogGregory Wlodarek2023-02-031-6/+7
|
* SERVER-67695 Remove write-blocking dbCheckLouis Williams2022-11-031-6/+18
| | | | This removes the snapshotRead:false option to dbCheck which blocked concurrent writes
* SERVER-70411 Serialize and deserialize DbCheckOplogBatch correctlymathisbessamdb2022-10-311-4/+3
|
* SERVER-67824 Rename IDLParserErrorContext to IDLParserContextHugh Tong2022-07-261-2/+2
|
* SERVER-54284 ExceptionFor<ErrorCodes::WriteConflict> should resolve to ↵Amirsaman Memaripour2022-04-281-1/+0
| | | | WriteConflictException
* SERVER-61939 Tighter bounds for clustered collection scansDaniel Gómez Ferro2022-02-071-4/+4
|
* SERVER-61260 Support collations on clustered collectionsDaniel Gómez Ferro2022-01-181-4/+8
|
* SERVER-61277 Concurrent writes on capped clustered collectionsJosef Ahmad2022-01-141-1/+2
|
* SERVER-61709 Introduce implicitly replicated namespacesJosef Ahmad2022-01-131-2/+1
| | | | | | | | | | | Implicitly replicated namespaces are internal namespaces that do not replicate writes, with the exception of deletions, user-initiated direct writes and some maintenance operations. This patch lists config.system.preimages, config.images_collection, config.transactions and config.changes.* as implicitly replicated namespaces, and unifies and validates their semantics. It also special-cases some of the config.transactions replication behaviour that is too specific to be generalised.
* SERVER-62387 Rename variable to avoid hiding original function parameterJordi Olivares Provencio2022-01-121-2/+2
|
* SERVER-62022 Reduce dbCheck info logging in prod, log start/stopJosef Ahmad2021-12-181-10/+37
|
* SERVER-61754 dbCheck does not hold strong locks during batchesLouis Williams2021-12-171-55/+61
| | | | | | | The dbCheck command accepts an optional (default true) parameter, 'snapshotRead', that uses point-in-time reads to check each batch. When true, dbCheck does not block writes. When set to false, dbCheck reverts to blocking writes.
* SERVER-30846 Run dbCheck in the background of some FSM testsJosef Ahmad2021-12-161-15/+37
| | | | This also makes various resiliency improvements to dbCheck
* SERVER-62041 Add a maximum batch execution time to dbCheckJosef Ahmad2021-12-151-2/+14
|
* SERVER-61877 Remove catalog consistency verification from dbCheckJosef Ahmad2021-12-141-143/+2
|
* SERVER-61748 dbCheck: improve database-level locking and handling of special ↵Josef Ahmad2021-12-081-41/+40
| | | | | | | | | | collections * Acquire database lock in MODE_IS between batches * Acquire database lock in MODE_IS when listing collections * Remove MODE_IX lock acquisition of the local db * Downgrade severity to warning for collections that are not consistent by design * Downgrade severity to info for collections that are dropped partway through
* SERVER-60837 Remove CollectionUUID and OptionalCollectionUUID aliasesDaniel Gómez Ferro2021-12-021-2/+1
|
* SERVER-56002 SERVER-56023 Store Collection metadata in the Collection and ↵Henrik Edin2021-05-201-7/+3
| | | | | | | | | | | reply on the copy-on-write machinery to keep it in sync with the durable catalog. All updates to the metadata needs to happen through the Collection, moved interfaces from the DurableCatalog to the Collection. Removed back pointer to Collection in IndexCatalogEntryImpl, interfaces now correctly take a const or non-const Collection. This should make its iterface const-correct to avoid making bugs where the copy-on-write system for Collections are bypassed. Multikey handle is special as it needs to happen without exclusive access to the Collection. Implemented isolation for the Collection metadata when multikey is changed. It handles multi-doc transactions and is only commited to the Collection instance after the write to the durable catalog successfully commits. listCollections and listIndexes can now safetly read the metadata cache without needing to read from the durable catalog making them safe to do without Collection level locks.
* SERVER-52556 Versioned CollectionCatalog. Writes are performed using ↵Henrik Edin2020-11-131-4/+4
| | | | | | | copy-on-write. Internal mutexes when reading CollectionCatalog are removed, just one mutex for writes are needed. Lock-free reads helper AutoGetCollectionForReadLockFree stashes a CollectionCatalog consistent with snapshot on OperationContext
* SERVER-51200 CollectionPtr in RequiresCollectionStage point to instance ↵Henrik Edin2020-10-131-1/+1
| | | | | | | | | | | owned by AutoGetCollection RequiresCollectionStage now holds a pointer to CollectionPtr owned by an AutoGetCollection. When we save and restore the executor a new CollectionPtr pointer needs to be assigned. Plan executors can no longer be created with temporary CollectionPtr instances and their interface have been changed to take pointers to avoid binding to rvalues. RequiresCollectionStage no longer loads collections from the catalog and will be in sync with the owning AutoGetCollection.
* SERVER-50984 Add CollectionPtr to replace usage of const Collection*Henrik Edin2020-09-261-7/+6
| | | | | | | | | | | | It implements a yieldable interface that is used to re-load the Collection pointer from the catalog after a yield that released locks. With lock-free reads and copy-on-write on Collection instances releasing locks without notifying an AutoGetCollection at a higher level may cause its pointers to dangle if a MODE_X writer installs a new Collection instance in the catalog. CollectionPtr should be passed by const reference so a yield can notify all the way up.
* SERVER-50317 Const correct uses of CollectionHenrik Edin2020-09-021-5/+5
| | | | | | Most of the code should only need a const Collection now. AutoGetCollection returns a const Collection by default. There is a placeholder getWritableCollection() interface that will handle the necessary steps we need for lock free reads in the future. Added some operators to AutoGetCollection so it behaves more like a smart pointer.
* SERVER-49957 Fix read out of bounds in dbCheck getPrevAndNextUUIDs when we ↵Henrik Edin2020-07-301-6/+3
| | | | operate on first element
* SERVER-48228 Move slot-based execution engine and supporting changes into ↵Martin Neupauer2020-06-111-1/+1
| | | | | | | | | | | | | | the master branch This is an initial commit for the slot-based execution engine (SBE) which contains: * Implementation of the core slot-based engine. * The SBE stage builder, which is responsible for translating a QuerySolution tree into an SBE plan. * Other changes necessary for integration with the find command. Co-authored-by: Anton Korshunov <anton.korshunov@mongodb.com> Co-authored-by: Justin Seyster <justin.seyster@mongodb.com> Co-authored-by: David Storch <david.storch@mongodb.com>
* SERVER-43859: Take MODE_IX locks for collection creation.Daniel Gottlieb2019-11-261-3/+4
| | | | | | | | | | | | | | | | | 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-44276: Change storage engine catalog map to be keyed by RecordId ↵Daniel Gottlieb2019-11-061-3/+5
| | | | instead of Namespace.
* SERVER-41496 Remove Database::getCollection() and replace with ↵Evgeni Dobranov2019-09-301-1/+2
| | | | CollectionCatalog::get().lookupCollectionByNamespace()
* SERVER-42965 Remove unused param "stableTimestampForRecovery"A. Jesse Jiryu Davis2019-08-221-2/+1
|
* SERVER-37180: Use OplogEntry everywhere in oplog applicationLingzhi Deng2019-07-291-7/+8
|
* SERVER-41772 Apply clang-format 7.0.1 to the codebaseclang-format-7.0.12019-07-271-24/+8
|
* SERVER-42194 Make Collection always hold a UUID (rather than optional UUID)Xiangyu Yao2019-07-151-1/+1
|
* SERVER-40717 Remove CollectionCatalogEntry and KVColletionCatalogEntryXiangyu Yao2019-06-281-1/+0
|
* SERVER-41819 Move methods from KVCollectionCatalogEntry to KVCatalogXiangyu Yao2019-06-211-6/+5
|
* SERVER-39339 Remove `stdx/memory.h`ADAM David Alan Martin2019-06-101-2/+2
|
* SERVER-40892 Rename UUIDCatalog to CollectionCatalogGeert Bosch2019-05-071-3/+3
|
* SERVER-40515 Remove usage of UUIDCatalog::prev() and UUIDCatalog::next() in ↵Gregory Wlodarek2019-04-291-2/+31
| | | | dbCheck
* SERVER-40688 Make CollectionLock take NamespaceStringGeert Bosch2019-04-171-1/+1
|
* SERVER-40604 Make CollectionLock interruptibleGeert Bosch2019-04-151-1/+1
|
* SERVER-35872 reconstruct prepared transactions on rollback, fastcount inaccuratePavi Vetriselvan2019-02-221-1/+2
|
* 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-38091 IndexCatalog iterators and accessors should return const entriesLouis Williams2018-12-191-1/+1
|
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-21/+23
|
* SERVER-37480 Use OplogEntry in command oplog applicationSiyuan Zhou2018-10-111-0/+1
|
* SERVER-34882 Support creating instances with all required fields in IDLMark Benvenuto2018-09-141-1/+1
|
* SERVER-33847 create type aliases for BSONObj containers with binary ↵Kyle Suarez2018-03-131-1/+1
| | | | comparison semantics