summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorGeir Storli <geirst@oath.com>2017-10-17 13:43:51 +0000
committerGeir Storli <geirst@oath.com>2017-10-17 13:43:51 +0000
commit6a59b4628dbf574171b02ce76e6e6ef70ecfc314 (patch)
treec8c88ded0a9df97f2534e677cc1633684a93f509 /searchcore
parent4d335b9bde8f4c4b624471a5eb956af4ae6ba73e (diff)
Add guard against file being removed while doing directory scan.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp b/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp
index ddbede13880..a19243287a4 100644
--- a/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp
@@ -67,7 +67,11 @@ sampleDiskUsageInDirectory(const fs::path &path)
for (const auto &elem : fs::recursive_directory_iterator(path,
fs::directory_options::skip_permission_denied)) {
if (fs::is_regular_file(elem.path()) && !fs::is_symlink(elem.path())) {
- result += fs::file_size(elem.path());
+ try {
+ result += fs::file_size(elem.path());
+ } catch (const fs::filesystem_error &) {
+ // This typically happens when a file is removed while doing the directory scan. Ignoring.
+ }
}
}
return result;