aboutsummaryrefslogtreecommitdiff
path: root/src/zenstore/gc.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-11-06 15:55:39 +0100
committerGitHub <[email protected]>2023-11-06 15:55:39 +0100
commit5295c9618cbae2bb937e188c072f66a77d793eb5 (patch)
tree6aeca701b20af5745eb7924c901c9708c098199b /src/zenstore/gc.cpp
parentstatsd for cas (#511) (diff)
downloadzen-5295c9618cbae2bb937e188c072f66a77d793eb5.tar.xz
zen-5295c9618cbae2bb937e188c072f66a77d793eb5.zip
gc v2 tests (#512)
* set MaxBlockCount at init * properly calculate total size * basic blockstore compact blocks test * correct detection of block swap * Use one implementation for CreateRandomBlob * reduce some data sets to increase speed of tests * reduce test time * rename BlockStoreCompactState::AddBlock -> BlockStoreCompactState::IncludeBlock
Diffstat (limited to 'src/zenstore/gc.cpp')
-rw-r--r--src/zenstore/gc.cpp38
1 files changed, 11 insertions, 27 deletions
diff --git a/src/zenstore/gc.cpp b/src/zenstore/gc.cpp
index f319475f3..365eb10ab 100644
--- a/src/zenstore/gc.cpp
+++ b/src/zenstore/gc.cpp
@@ -1652,22 +1652,6 @@ GcScheduler::CollectGarbage(const GcClock::TimePoint& CacheExpireTime,
#if ZEN_WITH_TESTS
namespace gc::impl {
- static IoBuffer CreateChunk(uint64_t Size)
- {
- static std::random_device rd;
- static std::mt19937 g(rd());
-
- std::vector<uint8_t> Values;
- Values.resize(Size);
- for (size_t Idx = 0; Idx < Size; ++Idx)
- {
- Values[Idx] = static_cast<uint8_t>(Idx);
- }
- std::shuffle(Values.begin(), Values.end(), g);
-
- return IoBufferBuilder::MakeCloneFromMemory(Values.data(), Values.size());
- }
-
static CompressedBuffer Compress(IoBuffer Buffer)
{
return CompressedBuffer::Compress(SharedBuffer::MakeView(Buffer.GetData(), Buffer.GetSize()));
@@ -1688,7 +1672,7 @@ TEST_CASE("gc.basic")
CidStore.Initialize(CasConfig);
- IoBuffer Chunk = CreateChunk(128);
+ IoBuffer Chunk = CreateRandomBlob(128);
auto CompressedChunk = Compress(Chunk);
const auto InsertResult = CidStore.AddChunk(CompressedChunk.GetCompressed().Flatten().AsIoBuffer(), CompressedChunk.DecodeRawHash());
@@ -1718,15 +1702,15 @@ TEST_CASE("gc.full")
CasStore->Initialize(CasConfig);
uint64_t ChunkSizes[9] = {128, 541, 1023, 781, 218, 37, 4, 997, 5};
- IoBuffer Chunks[9] = {CreateChunk(ChunkSizes[0]),
- CreateChunk(ChunkSizes[1]),
- CreateChunk(ChunkSizes[2]),
- CreateChunk(ChunkSizes[3]),
- CreateChunk(ChunkSizes[4]),
- CreateChunk(ChunkSizes[5]),
- CreateChunk(ChunkSizes[6]),
- CreateChunk(ChunkSizes[7]),
- CreateChunk(ChunkSizes[8])};
+ IoBuffer Chunks[9] = {CreateRandomBlob(ChunkSizes[0]),
+ CreateRandomBlob(ChunkSizes[1]),
+ CreateRandomBlob(ChunkSizes[2]),
+ CreateRandomBlob(ChunkSizes[3]),
+ CreateRandomBlob(ChunkSizes[4]),
+ CreateRandomBlob(ChunkSizes[5]),
+ CreateRandomBlob(ChunkSizes[6]),
+ CreateRandomBlob(ChunkSizes[7]),
+ CreateRandomBlob(ChunkSizes[8])};
IoHash ChunkHashes[9] = {
IoHash::HashBuffer(Chunks[0].Data(), Chunks[0].Size()),
IoHash::HashBuffer(Chunks[1].Data(), Chunks[1].Size()),
@@ -2080,7 +2064,7 @@ TEST_CASE("scrub.basic")
CidStore.Initialize(CasConfig);
- IoBuffer Chunk = CreateChunk(128);
+ IoBuffer Chunk = CreateRandomBlob(128);
auto CompressedChunk = Compress(Chunk);
const auto InsertResult = CidStore.AddChunk(CompressedChunk.GetCompressed().Flatten().AsIoBuffer(), CompressedChunk.DecodeRawHash());