diff options
author | Geir Storli <geirst@oath.com> | 2017-10-17 13:43:51 +0000 |
---|---|---|
committer | Geir Storli <geirst@oath.com> | 2017-10-17 13:43:51 +0000 |
commit | 6a59b4628dbf574171b02ce76e6e6ef70ecfc314 (patch) | |
tree | c8c88ded0a9df97f2534e677cc1633684a93f509 | |
parent | 4d335b9bde8f4c4b624471a5eb956af4ae6ba73e (diff) |
Add guard against file being removed while doing directory scan.
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp | 6 |
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; |