38 #include "mongo/stdx/mutex.h" 43 class JournalListener;
44 class MMAPV1DatabaseCatalogEntry;
52 std::unique_ptr<ExtentManager::Factory> extentManagerFactory);
85 return Status(ErrorCodes::InternalError,
"MMAPv1 doesn't support repairRecordStore");
90 const std::string& dbName,
91 bool preserveClonedFilesOnFailure,
92 bool backupOriginalFiles);
112 static void _listDatabases(
const std::string& directory, std::vector<std::string>* out);
115 typedef std::map<std::string, MMAPV1DatabaseCatalogEntry*>
EntryMap;
virtual Status dropDatabase(OperationContext *opCtx, StringData db)
Deletes all data and metadata for a database.
Definition: mmap_v1_engine.cpp:334
std::unique_ptr< ExtentManager::Factory > _extentManagerFactory
Definition: mmap_v1_engine.h:123
virtual bool isEphemeral() const
Returns true if the engine does not persist data to disk; false otherwise.
Definition: mmap_v1_engine.cpp:379
void finishInit()
Called after the globalStorageEngine pointer has been set up, before any other methods are called...
Definition: mmap_v1_engine.cpp:264
static void _listDatabases(const std::string &directory, std::vector< std::string > *out)
Definition: mmap_v1_engine.cpp:344
Status beginBackup(OperationContext *opCtx)
Transitions the storage engine into backup mode.
Definition: mmap_v1_engine.cpp:367
void endBackup(OperationContext *opCtx)
Transitions the storage engine out of backup mode.
Definition: mmap_v1_engine.cpp:371
Collection *const const NamespaceString & ns
Definition: collection_info_cache_impl.cpp:53
virtual bool supportsDocLocking() const
Returns whether the storage engine supports its own locking locking below the collection level...
Definition: mmap_v1_engine.h:66
virtual Status closeDatabase(OperationContext *opCtx, StringData db)
Closes all file handles associated with a database.
Definition: mmap_v1_engine.cpp:318
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
int flushAllFiles(OperationContext *opCtx, bool sync)
Definition: mmap_v1_engine.cpp:363
OperationContext Database StringData BSONObj CollectionOptions::ParseKind bool const BSONObj &idIndex Status
Definition: database_impl.cpp:956
RecoveryUnit * newRecoveryUnit()
Returns a new interface to the storage engine's recovery unit.
Definition: mmap_v1_engine.cpp:279
virtual bool isMmapV1() const
Only MMAPv1 should override this and return true to trigger MMAPv1-specific behavior.
Definition: mmap_v1_engine.h:69
virtual void cleanShutdown()
This method will be called before there is a clean shutdown.
Definition: mmap_v1_engine.cpp:387
std::map< std::string, MMAPV1DatabaseCatalogEntry * > EntryMap
Definition: mmap_v1_engine.h:115
int64_t _startMs
Definition: mmap_v1_engine.h:126
This class allows for the storageEngine to alert the rest of the system about journaled write progres...
Definition: journal_listener.h:48
Definition: mmap_v1_engine.h:46
void _deleteDataFiles(const std::string &database)
Definition: repair_database.cpp:84
A RecoveryUnit is responsible for ensuring that data is persisted.
Definition: recovery_unit.h:51
Timestamp getAllCommittedTimestamp() const override
Returns the all committed timestamp.
Definition: mmap_v1_engine.h:107
ClockSource * _clock
Definition: mmap_v1_engine.h:125
virtual Status repairRecordStore(OperationContext *opCtx, const std::string &ns)
Recover as much data as possible from a potentially corrupt RecordStore.
Definition: mmap_v1_engine.h:84
void setJournalListener(JournalListener *jl) final
Sets a new JournalListener, which is used by the storage engine to alert the rest of the system about...
Definition: mmap_v1_engine.cpp:417
Definition: database_catalog_entry.h:50
void listDatabases(std::vector< std::string > *out) const
List the databases stored in this storage engine.
Definition: mmap_v1_engine.cpp:283
virtual ~MMAPV1Engine()
Definition: mmap_v1_engine.cpp:272
OperationContext Database * db
Definition: database_impl.cpp:949
Status repairDatabase(OperationContext *opCtx, const std::string &dbName, bool preserveClonedFilesOnFailure, bool backupOriginalFiles)
Definition: repair_database.cpp:280
Used to implement likelyInPhysicalMemory() for the MMAP v1 storage engine.
Definition: record_access_tracker.h:49
MMAPV1Engine(const StorageEngineLockFile *lockFile, ClockSource *cs)
Definition: mmap_v1_engine.cpp:241
RecordAccessTracker & getRecordAccessTracker()
Gets a reference to the abstraction used by MMAP v1 to track recently used memory addresses...
Definition: mmap_v1_engine.cpp:383
EntryMap _entryMap
Definition: mmap_v1_engine.h:116
stdx::mutex _entryMapMutex
Definition: mmap_v1_engine.h:114
Definition: storage_engine_lock_file.h:41
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
DatabaseCatalogEntry * getDatabaseCatalogEntry(OperationContext *opCtx, StringData db)
Return the DatabaseCatalogEntry that describes the database indicated by 'db'.
Definition: mmap_v1_engine.cpp:287
The StorageEngine class is the top level interface for creating a new storage engine.
Definition: storage_engine.h:57
RecordAccessTracker _recordAccessTracker
Definition: mmap_v1_engine.h:121
virtual bool isDurable() const
Returns whether the engine supports a journalling concept or not.
Definition: mmap_v1_engine.cpp:375