diff options
| author | Dan Engelbrecht <[email protected]> | 2022-03-11 23:34:43 +0100 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2022-03-31 11:28:31 +0200 |
| commit | f2074aa777decc5104b548b3a1dbe44434bc177f (patch) | |
| tree | a1685a9bf14a2a1045653ead5e215505269e1c16 /zenstore/gc.cpp | |
| parent | Overview of CasContainerStrategy::CollectGarbage implementation (diff) | |
| download | zen-f2074aa777decc5104b548b3a1dbe44434bc177f.tar.xz zen-f2074aa777decc5104b548b3a1dbe44434bc177f.zip | |
Fix insert offset when moving last chunk
Diffstat (limited to 'zenstore/gc.cpp')
| -rw-r--r-- | zenstore/gc.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/zenstore/gc.cpp b/zenstore/gc.cpp index b685200bc..8a9fceb65 100644 --- a/zenstore/gc.cpp +++ b/zenstore/gc.cpp @@ -661,6 +661,8 @@ TEST_CASE("gc.compact") CasStore->InsertChunk(Chunks[7], ChunkHashes[7]); CasStore->InsertChunk(Chunks[8], ChunkHashes[8]); + auto InitialSize = CasStore->TotalSize(); + // Keep first and last { GcContext GcCtx; @@ -790,8 +792,23 @@ TEST_CASE("gc.compact") CasStore->InsertChunk(Chunks[1], ChunkHashes[1]); CasStore->InsertChunk(Chunks[2], ChunkHashes[2]); CasStore->InsertChunk(Chunks[3], ChunkHashes[3]); + CasStore->InsertChunk(Chunks[4], ChunkHashes[4]); CasStore->InsertChunk(Chunks[5], ChunkHashes[5]); } + + // Verify that we nicely appended blocks even after all GC operations + CHECK(ChunkHashes[0] == IoHash::HashBuffer(CasStore->FindChunk(ChunkHashes[0]))); + CHECK(ChunkHashes[1] == IoHash::HashBuffer(CasStore->FindChunk(ChunkHashes[1]))); + CHECK(ChunkHashes[2] == IoHash::HashBuffer(CasStore->FindChunk(ChunkHashes[2]))); + CHECK(ChunkHashes[3] == IoHash::HashBuffer(CasStore->FindChunk(ChunkHashes[3]))); + CHECK(ChunkHashes[4] == IoHash::HashBuffer(CasStore->FindChunk(ChunkHashes[4]))); + CHECK(ChunkHashes[5] == IoHash::HashBuffer(CasStore->FindChunk(ChunkHashes[5]))); + CHECK(ChunkHashes[6] == IoHash::HashBuffer(CasStore->FindChunk(ChunkHashes[6]))); + CHECK(ChunkHashes[7] == IoHash::HashBuffer(CasStore->FindChunk(ChunkHashes[7]))); + CHECK(ChunkHashes[8] == IoHash::HashBuffer(CasStore->FindChunk(ChunkHashes[8]))); + + auto FinalSize = CasStore->TotalSize(); + CHECK(InitialSize.TinySize == FinalSize.TinySize); } #endif |