Handle L0 cache being full
A test thta will cause leveled to crash due to a low cache size being set - but protect against this (as well as the general scenario of the cache being full). There could be a potential case where a L0 file present (post pending) without work backlog being set. In this case we want to roll the level zero to memory, but don't accept the cache update if the L0 cache is already full.
This commit is contained in:
parent
d5a9f2e8b7
commit
c060c0e41d
4 changed files with 74 additions and 22 deletions
|
@ -474,9 +474,16 @@ fetchput_snapshot(_Config) ->
|
|||
load_and_count(_Config) ->
|
||||
% Use artificially small files, and the load keys, counting they're all
|
||||
% present
|
||||
load_and_count(50000000, 2500, 28000),
|
||||
load_and_count(200000000, 100, 300000).
|
||||
|
||||
|
||||
load_and_count(JournalSize, BookiesMemSize, PencillerMemSize) ->
|
||||
RootPath = testutil:reset_filestructure(),
|
||||
StartOpts1 = [{root_path, RootPath},
|
||||
{max_journalsize, 50000000},
|
||||
{max_journalsize, JournalSize},
|
||||
{cache_size, BookiesMemSize},
|
||||
{max_pencillercachesize, PencillerMemSize},
|
||||
{sync_strategy, testutil:sync_strategy()}],
|
||||
{ok, Bookie1} = leveled_bookie:book_start(StartOpts1),
|
||||
{TestObject, TestSpec} = testutil:generate_testobject(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue