Storage Engine API
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 Cmongo::AlignedBuilderPage-aligned BufBuilder
 Cmongo::Partitioned< AssociativeContainer, nPartitions, KeyPartitioner >::AllUsed to protect access to all partitions of this partitioned associative structure
 Cmongo::AlignedBuilder::AllocationInfo
 Cmongo::dur::Already< Prime >Bitmap to remember things we have already marked for journaling
 Cmongo::dur::Already< 127 >
 Cmongo::ArtificialTreeBuilder< OnDiskFormat >Tool to construct custom tree shapes for tests
 Cmongo::AutoAcquireFlushLockForMMAPV1CommitThis explains how the MMAP V1 durability system is implemented
 Cmongo::AutoYieldFlushLockForMMAPV1CommitAt global synchronization points, such as drop database we are running under a global exclusive lock and without an active write unit of work, doing changes which require global commit
 CBackgroundJob
 CBasicCommand
 Cmongo::BsonRecord
 Cmongo::BtreeBucket< Version >
 Cmongo::BtreeBucketV0This structure represents header data for a btree bucket
 Cmongo::BtreeBucketV1
 Cmongo::BtreeLayoutV0
 Cmongo::BtreeLayoutV1
 Cmongo::BtreeLogic< BtreeLayout >This is the logic for manipulating the Btree
 Cmongo::BtreeLogic< BtreeLayoutType >
 Cmongo::BtreeLogic< OnDiskFormat >
 Cmongo::BtreeLogicTestBase< BtreeLayoutType >This class is made friend of BtreeLogic so we can add whatever private method accesses we need to it, to be used by the tests
 Cmongo::BtreeLogicTestBase< OnDiskFormat >
 Cmongo::BtreeLogicTestHelper< OnDiskFormat >This structure encapsulates a Btree and all the infrastructure needed by it (head manager, record store and a valid disk location to use by the tests)
 Cmongo::BtreeLogicTestHelper< BtreeLayoutType >
 Cmongo::dur::JournalWriter::BufferStores the memory and the header for a complete journal buffer which is pending to be written by the journal writer thread
 Cmongo::dur::BufferGuardUsed inside the journal writer thread to ensure that used buffers are cleaned up properly
 Cmongo::dur::BufReaderY
 Cmongo::BtreeLogic< BtreeLayout >::Builder
 Cmongo::ExtentManager::CacheHint
 Cmongo::CappedCallbackWhen a capped collection is modified (delete/insert/etc) then certain notifications need to be made, which this (pure virtual) interface exposes
 Cmongo::CappedInsertNotifierQueries with the awaitData option use this notifier object to wait for more data to be inserted into the capped collection
 Cmongo::RecoveryUnit::ChangeA Change is an action that is registerChange()'d while a WriteUnitOfWork exists
 Cmongo::CollectionCatalogEntry
 Cmongo::CollectionInfoCacheThis is for storing things that you want to cache about a single collection life cycle is managed for you from inside Collection
 Cmongo::Lock::CollectionLockCollection lock with support for document-level locking
 Cmongo::CollectionOptions
 Cmongo::dur::CommitJobTracks all write operations on the private view so they can be journaled
 Cmongo::CommitNotifierEstablishes a synchronization point between threads
 Cmongo::CompactOptions
 Cmongo::CompactStats
 Cmongo::DurRecoveryUnit::Write::compareEnd
 Cmongo::CounterOpsOperations for manipulating the lock statistics abstracting whether they are atomic or not
 Cmongo::SortedDataInterface::CursorNavigates over the sorted data
 Cmongo::EphemeralForTestRecordStore::Data
 Cmongo::DatabaseCatalogEntry
 Cmongo::DatabaseHolderRegistry of opened databases
 Cmongo::DataFile
 Cmongo::DataFileHeader
 Cmongo::DataFileVersion
 Cmongo::DataProtectorPerforms an implementation specific transformation on a series of input buffers to produce a protected form of their concatenated contents
 CDBException
 Cmongo::Lock::DBLockDatabase lock with support for collection- and document-level locking
 Cmongo::DeadlockDetectorIteratively builds the wait-for graph, starting from a given blocked Locker and stops either when all reachable nodes have been checked or if a cycle is detected
 CDecorable
 Cmongo::DeferredWriterProvides an interface for asynchronously adding to a collection
 Cmongo::DeletedRecord
 Cmongo::DisableDocumentValidationDisables document validation on a single OperationContext while in scope
 Cmongo::DisableDocumentValidationIfTrueDisables document validation while in scope if the constructor is passed true
 Cmongo::DiskLocDisk location/offset on disk in a database
 Cmongo::DiskLoc56BitA variant of DiskLoc Used by the V1 bucket type
 Cmongo::DocWriterAllows inserting a Record "in-place" without creating a copy ahead of time
 Cmongo::dur::DurableInterface
 Cmongo::dur::DurOpDurOp - Operations we journal that aren't just basic writes
 Cmongo::DeadlockDetector::Edges
 Cmongo::EncryptionHooks
 Cmongo::Lock::GlobalLock::EnqueueOnly
 Cmongo::MMAPV1DatabaseCatalogEntry::Entry
 Cmongo::RecordAccessTracker::Entry
 Cmongo::KVCatalog::Entry
 Cmongo::EphemeralForTestRecordStore::EphemeralForTestRecord
 CExportedServerParameter
 Cmongo::Extent
 Cmongo::DummyExtentManager::ExtentInfo
 Cmongo::ExtentManagerExtentManager basics
 Cmongo::NamespaceDetails::Extra
 Cmongo::StorageEngine::FactoryThe interface for creating new instances of storage engines
 Cmongo::ExtentManager::Factory
 Cmongo::FastMapNoAlloc< KeyType, ValueType >NOTE: This structure should not be used for anything other than the Lock Manager
 Cmongo::FastMapNoAlloc< ResourceId, LockRequest >
 Cmongo::KVCatalog::FeatureTracker::FeatureBits
 Cmongo::KVCatalog::FeatureTrackerManages the contents of a document in the KVCatalog used to restrict downgrade compatibility
 Cmongo::FileAllocator
 Cmongo::FileOp
 Cmongo::MmapV1ExtentManager::FilesArraySimple wrapper around an array object to allow append-only modification of the array, as well as concurrent read-accesses
 Cmongo::FixedWidthKey< LocType >This is the fixed width data component for storage of a key within a bucket
 CFlushable
 Cmongo::MongoFile::FlushableFlushable has to fail nicely if the underlying object gets killed
 Cmongo::ForceSupportsDocLocking
 Cmongo::BtreeLogic< BtreeLayout >::FullKeyThis is an in memory wrapper for the variable length data associated with a KeyHeaderType
 Cmongo::Lock::GlobalLockGlobal lock
 Cmongo::GlobalLockAcquisitionTrackerThe GlobalLockAcquisitionTracker keeps track of if the global lock has ever been taken in X or IX mode
 Cmongo::HarnessHelperSets up an OperationContext with a Recovery Unit
 Chash< mongo::ResourceId >
 Cmongo::HeadManagerAn abstraction for setting and getting data about the 'head' of an index
 Cmongo::HealthLogThe interface to the local healthlog
 Cmongo::IndexCatalog::IndexIterator::Impl
 Cmongo::IndexCatalog::Impl
 Cmongo::IndexCatalogEntry::Impl
 Cmongo::DatabaseHolder::Impl
 Cmongo::MultiIndexBlock::Impl
 Cmongo::CollectionInfoCache::Impl
 Cmongo::Database::Impl
 Cmongo::IndexCatalogImpl::IndexBuildBlockDisk creation order 1) system.indexes entry 2) collection's NamespaceDetails a) info + head b) _indexBuildsInProgress++ 3) indexes entry in .ns file 4) system.namespaces entry for index ns
 Cmongo::IndexCatalogHow many: 1 per Collection
 Cmongo::IndexCatalogEntry
 Cmongo::IndexCatalogEntryContainer
 Cmongo::IndexConsistency
 Cmongo::IndexDetails
 Cmongo::IndexEntryComparisonCompares two different IndexKeyEntry instances
 Cmongo::IndexInfoThe IndexConsistency class is used to keep track of the index consistency
 Cmongo::NamespaceDetails::IndexIterator
 Cmongo::IndexCatalog::IndexIterator
 Cmongo::IndexKeyEntryRepresents a single item in an index
 Cmongo::IndexCatalogImpl::IndexKillCriteria
 Cmongo::BSONCollectionCatalogEntry::IndexMetaData
 Cmongo::IndexSeekPointDescribes a query that can be compared against an IndexKeyEntry in a way that allows expressing exclusiveness on a prefix of the key
 Cmongo::MultiIndexBlockImpl::IndexToBuild
 Cmongo::HeapRecordStoreBtreeRecoveryUnit::InsertEntry
 Cmongo::DatabaseImpl::iteratorIterating over a Database yields Collection* pointers
 Cmongo::Database::iteratorIterating over a Database yields Collection* pointers
 Cmongo::Partitioned< AssociativeContainer, nPartitions, KeyPartitioner >::IteratorEndTag
 Cmongo::FastMapNoAlloc< KeyType, ValueType >::IteratorImpl< MapType, IteratorValueType, IteratorType >Forward-only iterator
 Cmongo::dur::JDbContextDeclares "the next entry(s) are for this database / file path prefix"
 Cmongo::dur::JEntryIndividual write operation within a group commit section
 Cmongo::dur::Journal::JFile
 Cmongo::dur::JHeaderBeginning header for a journal/j._<n> file there is nothing important int this header at this time
 Cmongo::dur::JournalWriteahead journal for durability
 Cmongo::JournalListenerThis class allows for the storageEngine to alert the rest of the system about journaled write progress
 Cmongo::JournalSectionCorruptExceptionThrown when a journal section is corrupt
 Cmongo::dur::JournalSectionIteratorRead through the memory mapped data of a journal file (journal/j._<n> file) throws
 Cmongo::dur::JournalWriterManages the thread and queues used for writing the journal to disk and notify parties with are waiting on the write concern
 Cmongo::dur::JSectFooterGroup commit section footer
 Cmongo::dur::JSectHeader"Section" header
 Cmongo::KeyBsonKey class for precomputing a small format index key that is denser than a traditional BSONObj
 Cmongo::KeyString
 Cmongo::KeyV1
 Cmongo::KVCatalog
 Cmongo::KVEngine
 Cmongo::KVHarnessHelperCreates a harness for generic KVEngine testing of all KVEngine implementations
 Cmongo::KVPrefixA KVPrefix may be prepended to the keys of entries in an underlying KV store
 Cmongo::KVStorageEngineOptions
 Cmongo::dur::RecoveryJob::Last
 Cmongo::LocAndSize
 Cmongo::Lock
 Cmongo::LockManager::LockBucket
 Cmongo::LockerInterface for acquiring locks
 Cmongo::Locker::LockerInfoReturns information and locking statistics for this instance of the locker
 Cmongo::StorageEngineLockFile::LockFileHandle
 Cmongo::LockGrantNotificationInterface on which granted lock requests will be notified
 Cmongo::LockHeadThere is one of these objects for each resource that has a lock request
 Cmongo::LockManagerEntry point for the lock manager scheduling functionality
 Cmongo::LockMongoFilesExclusive
 Cmongo::LockMongoFilesShared
 Cmongo::LockRequestThere is one of those entries per each request for a lock
 Cmongo::LockRequestListSimple intrusive list implementation for the lock's granted and conflicting lists
 Cmongo::Locker::LockSnapshotLockSnapshot captures the state of all resources that are locked, what modes they're locked in, and how many times they've been locked in that mode
 Cmongo::LockStatCounters< CounterType >Bundle of locking statistics values
 Cmongo::LockStats< CounterType >Templatized lock statistics management class, which can be specialized with atomic integers for the global stats and with regular integers for the per-locker stats
 Cmongo::LockStats< int64_t >
 Cmongo::LogFile
 Cmongo::dur::LSNFile"last sequence number"
 Cmongo::MAdvise
 Cmongo::BSONCollectionCatalogEntry::MetaData
 Cmongo::MMAPV1Options
 Cmongo::MmapV1RecordHeader
 Cmongo::HeapRecordStoreBtree::MmapV1RecordHeader
 Cmongo::MobileDelayedOpQueueThis class manages a queue of operations delayed for some reason
 Cmongo::MobileSessionThis class manages a SQLite database connection object
 Cmongo::MobileSessionPoolThis class manages a pool of open sqlite3* objects
 Cmongo::HeapRecordStoreBtreeRecoveryUnit::ModEntry
 Cmongo::MongoFile
 Cmongo::MongoFileFinderLook up a MMF by filename
 Cmongo::MultiIndexBlockBuilds one or more indexes
 Cmongo::NamespaceThis is used for storing a namespace on disk in a fixed witdh form and should only be used for that, not for passing internally
 Cmongo::NamespaceDetails
 Cmongo::NamespaceHashTableSimple, fixed size hash table used for namespace mapping (effectively the contents of the MMAP V1 .ns file)
 Cmongo::NamespaceIndex
 Cmongo::NamespaceUUIDCache
 Cmongo::NamespaceHashTable::Node
 Cmongo::MmapV1RecordHeader::NP
 Cmongo::Locker::OneLockDescribes a single lock acquisition for reporting/serialization purposes
 Cmongo::Partitioned< AssociativeContainer, nPartitions, KeyPartitioner >::OnePartitionUsed to protect access to a single partition of a Partitioned
 Cmongo::Lock::OplogIntentWriteLockLike the CollectionLock, but optimized for the local oplog
 Cmongo::WiredTigerRecordStore::OplogStones
 COpObserver
 Cmongo::Lock::ParallelBatchWriterModeTurn on "parallel batch writer mode" by locking the global ParallelBatchWriterMode resource in exclusive mode
 Cmongo::WiredTigerRecordStore::Params
 Cmongo::dur::ParsedJournalEntry
 Cmongo::LockManager::Partition
 Cmongo::Partitioned< AssociativeContainer, nPartitions, KeyPartitioner >A templated class used to partition an associative container like a set or a map to increase scalability
 Cmongo::PartitionedLockHeadThe PartitionedLockHead allows optimizing the case where requests overwhelmingly use the intent lock modes MODE_IS and MODE_IX, which are compatible with each other
 Cmongo::Partitioner< T >The default partitioning policy: If using a numeric built-in type, will use the lower bits of a number to decide which partition to assign it to
 Cmongo::LockStats< CounterType >::PerModeLockStatCounters
 Cmongo::PointerToDurableMappedFileFor durability support we want to be able to map pointers to specific DurableMappedFile objects
 Cmongo::FastMapNoAlloc< KeyType, ValueType >::PreallocEntryMap entry through which we avoid releasing memory: we mark it as inUse or not
 Cmongo::KeyString::TypeBits::Reader
 Cmongo::RecordThe data items stored in a RecordStore
 Cmongo::RecordAccessTrackerUsed to implement likelyInPhysicalMemory() for the MMAP v1 storage engine
 Cmongo::RecordCursorRetrieves Records from a RecordStore
 Cmongo::RecordDataA replacement for the Record class
 Cmongo::RecordFetcherUsed for yielding while data is fetched from disk
 Cmongo::RecordStoreAn abstraction used for storing documents in a collection or entries in an index
 Cmongo::RecordStoreCompactAdaptor
 Cmongo::RecordStoreV1MetaData
 Cmongo::dur::RecoveryJobCall go() to execute a recovery from existing journal files
 Cmongo::RecoveryUnitA RecoveryUnit is responsible for ensuring that data is persisted
 Cmongo::RelativePathThis is very much like a boost::path
 Cmongo::RenameCollectionOptionsRenames the collection from "source" to "target" and drops the existing collection with UUID dropTargetUUID iff "dropTarget" is true
 Cmongo::RepairFileDeleter
 Cmongo::ResourceIdUniquely identifies a lockable resource
 Cmongo::Lock::ResourceLockGeneral purpose RAII wrapper for a resource managed by the lock manager
 Cmongo::Lock::ResourceMutexFor use as general mutex or readers/writers lock, outside the general multi-granularity model
 Cmongo::RecordAccessTracker::RollingThis contains many slices of times the idea you put mem status in the current time slice and then after a certain period of time, it rolls off so we check again
 Cmongo::dur::Stats::S
 Cmongo::SavedCursorRegistry::SavedCursorThe destructor ensures the cursor is unregistered when an exception is thrown
 Cmongo::SavedCursorRegistryClass that stores active cursors that have been saved (as part of yielding) to allow them to be invalidated if the thing they pointed at goes away
 CServerParameter
 CServerStatusMetric
 CServerStatusSection
 Cmongo::ShouldNotConflictWithSecondaryBatchApplicationBlockRAII-style class to opt out of replication's use of ParallelBatchWriterMode
 Cmongo::WiredTigerSizeStorer::SizeInfoSizeInfo is a thread-safe buffer for keeping track of the number of documents in a collection and their data size
 Cmongo::RecordAccessTracker::SliceSimple hash map for region -> status this constitutes a single region of time it does chaining, but very short chains
 Cmongo::SnapshotId
 Cmongo::SnapshotManagerManages snapshots that can be read from at a later time
 Cmongo::Snapshotted< T >
 Cmongo::SortedDataBuilderInterfaceA version-hiding wrapper around the bulk builder for the Btree
 Cmongo::SortedDataInterfaceThis interface is a work in progress
 Cmongo::SqliteStatementSqliteStatement is a wrapper around the sqlite3_stmt object
 CStartupTest
 Cmongo::dur::StatsJournaling stats
 Cmongo::NamespaceDetails::Stats
 Cmongo::StatusWith< T >
 Cmongo::WiredTigerRecordStore::OplogStones::Stone
 Cmongo::StorageEngineTop level interface for creating a new storage engine
 Cmongo::StorageEngineLockFile
 Cmongo::StorageEngineMetadataThis reads and write the storage engine metadata file 'storage.bson' in the data directory (See –dbpath)
 Cmongo::StorageGlobalParams
 CSuite
 Cmongo::Lock::TempReleaseNOTE: DO NOT add any new usages of TempRelease
 CTest
 CTest
 Cmongo::TestStruct
 Cmongo::IndexCatalog::IndexIterator::TUHook
 Cmongo::CollectionInfoCache::TUHook
 Cmongo::MultiIndexBlock::TUHook
 Cmongo::IndexCatalogEntry::TUHook
 Cmongo::Database::TUHook
 Cmongo::IndexCatalog::TUHook
 Cmongo::Collection::TUHook
 Cmongo::DatabaseHolder::TUHook
 Cmongo::KeyString::TypeBitsEncodes info needed to restore the original BSONTypes from a KeyString
 Cmongo::UninterruptibleLockGuardThis class prevents lock acquisitions from being interrupted when it is in scope
 Cmongo::DeadlockDetector::UnprocessedNode
 Cmongo::UpdateNotifier
 Cmongo::UUIDCatalog
 Cmongo::ValidateAdaptorThis is so when a RecordStore is validating all records it can call back to someone to check if a record is valid
 Cmongo::ValidateResults
 Cmongo::WiredTigerBeginTxnBlockWhen constructed, this object begins a WiredTiger transaction on the provided session
 Cmongo::WiredTigerCachedCursor
 Cmongo::WiredTigerConfigParser
 Cmongo::WiredTigerConnection
 Cmongo::WiredTigerCursorThis is a smart pointer that wraps a WT_CURSOR and knows how to obtain and get from pool
 Cmongo::WiredTigerCustomizationHooks
 Cmongo::WiredTigerExtensions
 Cmongo::WiredTigerFileVersion
 Cmongo::WiredTigerGlobalOptions
 Cmongo::WiredTigerOplogManager
 Cmongo::WiredTigerSessionThis is a structure that caches 1 cursor for each uri
 Cmongo::WiredTigerSessionCacheThis cache implements a shared pool of WiredTiger sessions with the goal to amortize the cost of session creation and destruction over multiple uses
 Cmongo::WiredTigerSessionCache::WiredTigerSessionDeleterThis deleter automatically releases WiredTigerSession objects when no longer needed
 Cmongo::WiredTigerSizeStorerServes as a write buffer to durably store size information for MongoDB collections
 Cmongo::WiredTigerUtil
 Cmongo::WiredTigerUtilHarnessHelper
 Cmongo::DurRecoveryUnit::WriteThese are memory writes inside the mmapv1 mmap-ed files
 Cmongo::dur::WriteIntentDeclaration of an intent to write to a region of a memory mapped view
 Cmongo::WriteUnitOfWorkThe WriteUnitOfWork is an RAII type that begins a storage engine write unit of work on both the Locker and the RecoveryUnit of the OperationContext
 CWT_EVENT_HANDLER
 CWT_ITEM