33 #include <boost/filesystem/path.hpp> 38 #include "mongo/platform/atomic_word.h" 39 #include "mongo/stdx/mutex.h" 40 #include "mongo/util/concurrency/mutex.h" 56 void init(ClockSource* cs, int64_t serverStartMs);
90 void _rotate(
unsigned long long lsnOfCurrentJournalEntry);
117 void updateLSNFile(
unsigned long long lsnOfCurrentJournalEntry);
unsigned long long curFileId() const
Definition: dur_journalimpl.h:73
void open()
open a journal file to journal operations to.
Definition: dur_journal.cpp:558
friend void notifyPreDataFileFlush()
Call these before (pre) and after (post) the datafiles are flushed to disk by the DataFileSync thread...
Definition: dur_journal.cpp:680
void assureLogFileOpen()
Definition: dur_journalimpl.h:77
the writeahead journal for durability
Definition: dur_journalimpl.h:49
std::list< JFile > _oldJournalFiles
Definition: dur_journalimpl.h:111
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
AtomicUInt64 _preFlushTime
Definition: dur_journalimpl.h:121
AtomicUInt64 _lastSeqNumberWrittenToSharedView
Definition: dur_journalimpl.h:119
int64_t _serverStartMs
Definition: dur_journalimpl.h:127
void updateLSNFile(unsigned long long lsnOfCurrentJournalEntry)
remember "last sequence number" to speed recoveries concurrency: called by durThread only...
Definition: dur_journal.cpp:618
void init(ClockSource *cs, int64_t serverStartMs)
call during startup by journalMakeDir()
Definition: dur_journal.cpp:552
friend void setLastSeqNumberWrittenToSharedView(uint64_t seqNumber)
Informs the journaling system that all writes on or before the passed in sequence number have been wr...
Definition: dur_journal.cpp:676
ClockSource * _clock
Definition: dur_journalimpl.h:126
void journal(const JSectHeader &h, const AlignedBuilder &b)
append to the journal file
Definition: dur_journal.cpp:766
void rotate()
check if time to rotate files.
unsigned long long _curFileId
Definition: dur_journalimpl.h:102
a page-aligned BufBuilder.
Definition: aligned_builder.h:37
friend void notifyPostDataFileFlush()
Definition: dur_journal.cpp:684
Journal()
Definition: dur_journal.cpp:197
void closeCurrentJournalFile()
Definition: dur_journal.cpp:690
std::string dir
Definition: dur_journalimpl.h:51
void cleanup(bool log)
Definition: dur_journal.cpp:273
std::string filename
Definition: dur_journalimpl.h:105
AtomicWord< bool > _writeToLSNNeeded
Definition: dur_journalimpl.h:124
LogFile * _curLogFile
Definition: dur_journalimpl.h:101
boost::filesystem::path getFilePathFor(int filenumber) const
Definition: dur_journal.cpp:204
void removeUnneededJournalFiles()
remove older journal files.
Definition: dur_journal.cpp:707
void _open()
Definition: dur_journal.cpp:514
SimpleMutex _curLogFileMutex
Definition: dur_journalimpl.h:99
AtomicUInt64 _lastFlushTime
Definition: dur_journalimpl.h:123
void _rotate(unsigned long long lsnOfCurrentJournalEntry)
check if time to rotate files.
Definition: dur_journal.cpp:727
unsigned _nextFileNumber
Definition: dur_journalimpl.h:97
Definition: dur_journalimpl.h:104
unsigned long long _written
Definition: dur_journalimpl.h:96
unsigned long long lastEventTimeMs
Definition: dur_journalimpl.h:106