diff options
author | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2015-10-12 13:54:31 -0400 |
---|---|---|
committer | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2015-10-12 14:37:22 -0400 |
commit | b807de9d3cca94339487d9aa70112bc20a419401 (patch) | |
tree | 70ccf85eea913849e5233e3e67d7dd57d594d7f6 | |
parent | 207cbfa04cdf6e7620dc6196673c2f5d7860dac5 (diff) | |
download | mongo-b807de9d3cca94339487d9aa70112bc20a419401.tar.gz |
SERVER-20776: diagnostic.data directory size limit is not enforced
-rw-r--r-- | src/mongo/db/ftdc/file_manager.cpp | 2 | ||||
-rw-r--r-- | src/mongo/db/ftdc/file_manager_test.cpp | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/mongo/db/ftdc/file_manager.cpp b/src/mongo/db/ftdc/file_manager.cpp index 94f5076ab82..7acfc03692a 100644 --- a/src/mongo/db/ftdc/file_manager.cpp +++ b/src/mongo/db/ftdc/file_manager.cpp @@ -113,7 +113,7 @@ std::vector<boost::filesystem::path> FTDCFileManager::scanDirectory() { auto filename = de.path().filename(); std::string str = filename.generic_string(); - if (str.compare(0, strlen(kFTDCArchiveFile) - 1, kFTDCArchiveFile) == 0 && + if (str.compare(0, strlen(kFTDCArchiveFile), kFTDCArchiveFile) == 0 && str != kFTDCInterimFile) { files.emplace_back(_path / filename); } diff --git a/src/mongo/db/ftdc/file_manager_test.cpp b/src/mongo/db/ftdc/file_manager_test.cpp index 8b2846d9392..3c1088ed547 100644 --- a/src/mongo/db/ftdc/file_manager_test.cpp +++ b/src/mongo/db/ftdc/file_manager_test.cpp @@ -54,8 +54,8 @@ namespace mongo { TEST(FTDCFileManagerTest, TestFull) { Client* client = &cc(); FTDCConfig c; - c.maxFileSizeBytes = 1000; - c.maxDirectorySizeBytes = 3000; + c.maxFileSizeBytes = 300; + c.maxDirectorySizeBytes = 1000; c.maxSamplesPerInterimMetricChunk = 1; unittest::TempDir tempdir("metrics_testpath"); @@ -68,7 +68,7 @@ TEST(FTDCFileManagerTest, TestFull) { auto mgr = std::move(swMgr.getValue()); // Test a large numbers of zeros, and incremental numbers in a full buffer - for (int j = 0; j < 4; j++) { + for (int j = 0; j < 10; j++) { ASSERT_OK( mgr->writeSampleAndRotateIfNeeded(client, BSON("name" @@ -109,7 +109,7 @@ TEST(FTDCFileManagerTest, TestFull) { } } - ASSERT_TRUE(sum < c.maxDirectorySizeBytes * 1.10); + ASSERT_TRUE(sum < c.maxDirectorySizeBytes * 1.10 && sum > c.maxDirectorySizeBytes * 0.90); } void ValidateInterimFileHasData(const boost::filesystem::path& dir, bool hasData) { |