From 9b31ba3beb2b1f121275f395f0ee69f351a4325d Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Thu, 24 Mar 2022 00:01:59 +0100 Subject: large cas migration test --- zenstore/compactcas.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'zenstore/compactcas.cpp') diff --git a/zenstore/compactcas.cpp b/zenstore/compactcas.cpp index 51c515e8d..887197c2d 100644 --- a/zenstore/compactcas.cpp +++ b/zenstore/compactcas.cpp @@ -1024,6 +1024,7 @@ CasContainerStrategy::OpenContainer(bool IsNewStore) } else if (WriteOffset + Chunk.size() > m_MaxBlockSize) { + NewBlockFile.reset(); uint64_t ChunkEnd = ChunkLocation.GetOffset() + Chunk.size(); BlockFile.SetFileSize(ChunkEnd); NewBlockIndex = NewBlockIndex + 1; @@ -1037,6 +1038,7 @@ CasContainerStrategy::OpenContainer(bool IsNewStore) m_CasLog.Append({.Key = ChunkHash, .Location = BlockStoreDiskLocation(NewChunkLocation, m_PayloadAlignment)}); WriteOffset = RoundUp(WriteOffset + Chunk.size(), m_PayloadAlignment); } + NewBlockFile.reset(); m_CasLog.Close(); BlockFile.Close(); @@ -2080,6 +2082,25 @@ TEST_CASE("compactcas.threadedinsert") // * doctest::skip(true)) } } +TEST_CASE("compactcas.migrate.large.data" * doctest::skip(true)) +{ + const char* BigDataPath = "D:\\zen-data\\dc4-zen-cache-t\\cas"; + CasStoreConfiguration CasConfig; + CasConfig.RootDirectory = BigDataPath; + + CasGc TobsCasGc; + CasContainerStrategy TobsCas(CasConfig, TobsCasGc); + TobsCas.Initialize("tobs", 1u << 28, 16, false); + GcContext TobsGcCtx; + TobsCas.CollectGarbage(TobsGcCtx); + + CasGc SobsCasGc; + CasContainerStrategy SobsCas(CasConfig, SobsCasGc); + SobsCas.Initialize("sobs", 1u << 30, 4096, false); + GcContext SobsGcCtx; + TobsCas.CollectGarbage(SobsGcCtx); +} + #endif void -- cgit v1.2.3