diff options
| author | Dan Engelbrecht <[email protected]> | 2024-08-19 15:06:07 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2024-08-19 15:06:07 +0200 |
| commit | 6698d1bd2de0cc186d8ee12592335beddef2e633 (patch) | |
| tree | 2b3f56ffe7fb00056b6e680e7e1ba49b9a5aa73a /src/zenstore/cache/cachedisklayer.cpp | |
| parent | verify that project oplog dir exists before trying to iterate it (#123) (diff) | |
| download | zen-6698d1bd2de0cc186d8ee12592335beddef2e633.tar.xz zen-6698d1bd2de0cc186d8ee12592335beddef2e633.zip | |
don't throw exception if sidecar file is missing (#126)
* Don't throw exception if sidecar file is missing.
* Log reasons for rejecting sidecar file
Diffstat (limited to 'src/zenstore/cache/cachedisklayer.cpp')
| -rw-r--r-- | src/zenstore/cache/cachedisklayer.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/zenstore/cache/cachedisklayer.cpp b/src/zenstore/cache/cachedisklayer.cpp index 94636bb59..c80fc59d8 100644 --- a/src/zenstore/cache/cachedisklayer.cpp +++ b/src/zenstore/cache/cachedisklayer.cpp @@ -516,7 +516,8 @@ BucketManifestSerializer::ReadSidecarFile(RwLock::ExclusiveLockScope& B if (Ec) { - throw std::system_error(Ec, fmt::format("failed to open sidecar file '{}'", SidecarPath)); + ZEN_WARN("Failed to read sidecar file '{}'. Reason: '{}'", SidecarPath, Ec.message()); + return false; } uint64_t FileSize = SidecarFile.FileSize(); @@ -525,6 +526,10 @@ BucketManifestSerializer::ReadSidecarFile(RwLock::ExclusiveLockScope& B if (FileSize < sizeof(BucketMetaHeader)) { + ZEN_WARN("Failed to read sidecar file '{}'. Minimum size {} expected, actual size: ", + SidecarPath, + sizeof(BucketMetaHeader), + FileSize); return false; } @@ -535,17 +540,25 @@ BucketManifestSerializer::ReadSidecarFile(RwLock::ExclusiveLockScope& B if (!Header.IsValid()) { + ZEN_WARN("Failed to read sidecar file '{}'. Header is invalid", SidecarPath); return false; } if (Header.Version != BucketMetaHeader::Version1) { + ZEN_WARN("Failed to read sidecar file '{}'. Unsupported version: {}", SidecarPath, Header.Version); return false; } const uint64_t ExpectedEntryCount = (FileSize - sizeof(sizeof(BucketMetaHeader))) / sizeof(ManifestData); if (Header.EntryCount > ExpectedEntryCount) { + ZEN_WARN( + "Failed to read sidecar file '{}'. File is not large enough to hold expected entry count. Header count: {}, file size count: " + "{}", + SidecarPath, + Header.EntryCount, + ExpectedEntryCount); return false; } |