summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Benvenuto <mark.benvenuto@mongodb.com>2015-10-12 13:54:31 -0400
committerMark Benvenuto <mark.benvenuto@mongodb.com>2015-10-12 14:37:22 -0400
commitb807de9d3cca94339487d9aa70112bc20a419401 (patch)
tree70ccf85eea913849e5233e3e67d7dd57d594d7f6
parent207cbfa04cdf6e7620dc6196673c2f5d7860dac5 (diff)
downloadmongo-b807de9d3cca94339487d9aa70112bc20a419401.tar.gz
SERVER-20776: diagnostic.data directory size limit is not enforced
-rw-r--r--src/mongo/db/ftdc/file_manager.cpp2
-rw-r--r--src/mongo/db/ftdc/file_manager_test.cpp8
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) {