summaryrefslogtreecommitdiff
path: root/src/mongo/db/ftdc/file_manager.h
diff options
context:
space:
mode:
authorMark Benvenuto <mark.benvenuto@mongodb.com>2015-10-15 14:31:08 -0400
committerMark Benvenuto <mark.benvenuto@mongodb.com>2015-10-21 11:37:12 -0400
commitccabf1cbf9a2c443edfe16b28ce964ba6daf7137 (patch)
tree1a13d5cb1ed6c27b739871ce0844fa9743a1875f /src/mongo/db/ftdc/file_manager.h
parent18c6242a3012015b4d633546749e67349c07db0b (diff)
downloadmongo-ccabf1cbf9a2c443edfe16b28ce964ba6daf7137.tar.gz
SERVER-20958: Ensure file names are unique when quickly written and rotated.
Diffstat (limited to 'src/mongo/db/ftdc/file_manager.h')
-rw-r--r--src/mongo/db/ftdc/file_manager.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mongo/db/ftdc/file_manager.h b/src/mongo/db/ftdc/file_manager.h
index 3342a1877cf..acfd330d581 100644
--- a/src/mongo/db/ftdc/file_manager.h
+++ b/src/mongo/db/ftdc/file_manager.h
@@ -94,8 +94,8 @@ public:
* Generate a new file name for the archive.
* Public for use by unit tests only.
*/
- static StatusWith<boost::filesystem::path> generateArchiveFileName(
- const boost::filesystem::path& path, StringData suffix);
+ StatusWith<boost::filesystem::path> generateArchiveFileName(const boost::filesystem::path& path,
+ StringData suffix);
private:
FTDCFileManager(const FTDCConfig* config,
@@ -137,6 +137,13 @@ private:
// file to log samples to
FTDCFileWriter _writer;
+ // last archive file name suffix used
+ std::string _previousArchiveFileSuffix;
+
+ // last file name id uniquifier used
+ // this starts from zero for each new file suffix
+ std::uint32_t _fileNameUniquifier = 0;
+
// Path of metrics directory
boost::filesystem::path _path;