diff --git a/utilities/backupable/backupable_db.cc b/utilities/backupable/backupable_db.cc index 4a48c6b24..ed5601d55 100644 --- a/utilities/backupable/backupable_db.cc +++ b/utilities/backupable/backupable_db.cc @@ -1416,16 +1416,19 @@ Status BackupEngineImpl::InsertPathnameToSizeBytes( std::unordered_map* result) { assert(result != nullptr); std::vector files_attrs; - Status status = env->GetChildrenFileAttributes(dir, &files_attrs); - if (!status.ok()) { - return status; + Status status = env->FileExists(dir); + if (status.ok()) { + status = env->GetChildrenFileAttributes(dir, &files_attrs); + } else if (status.IsNotFound()) { + // Insert no entries can be considered success + status = Status::OK(); } const bool slash_needed = dir.empty() || dir.back() != '/'; for (const auto& file_attrs : files_attrs) { result->emplace(dir + (slash_needed ? "/" : "") + file_attrs.name, file_attrs.size_bytes); } - return Status::OK(); + return status; } Status BackupEngineImpl::GarbageCollect() {