diff options
| author | Dan Engelbrecht <[email protected]> | 2022-03-24 00:01:59 +0100 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2022-03-31 11:29:27 +0200 |
| commit | 9b31ba3beb2b1f121275f395f0ee69f351a4325d (patch) | |
| tree | e098e91d722c4781026fd0a2eb00f8169fa8c6c8 /zenstore/compactcas.cpp | |
| parent | clean up number -> hex -> number code (diff) | |
| download | zen-9b31ba3beb2b1f121275f395f0ee69f351a4325d.tar.xz zen-9b31ba3beb2b1f121275f395f0ee69f351a4325d.zip | |
large cas migration test
Diffstat (limited to 'zenstore/compactcas.cpp')
| -rw-r--r-- | zenstore/compactcas.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
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 |