From 34e7ce170a81721c9456cbaf07fa4f00126661d1 Mon Sep 17 00:00:00 2001 From: martinsumner Date: Thu, 8 Dec 2016 18:35:20 +0000 Subject: [PATCH] Jitter co-ordination issues Experiment to try and reoslve jitter co-orsination issue --- src/leveled_bookie.erl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/leveled_bookie.erl b/src/leveled_bookie.erl index c6958a2..6d865eb 100644 --- a/src/leveled_bookie.erl +++ b/src/leveled_bookie.erl @@ -140,12 +140,13 @@ -include_lib("eunit/include/eunit.hrl"). --define(CACHE_SIZE, 1800). +-define(CACHE_SIZE, 2000). -define(JOURNAL_FP, "journal"). -define(LEDGER_FP, "ledger"). -define(SNAPSHOT_TIMEOUT, 300000). -define(CHECKJOURNAL_PROB, 0.2). --define(CACHE_SIZE_JITTER, 360). +-define(CACHE_SIZE_JITTER, 20). +-define(JOURNAL_SIZE_JITTER, 10) -record(state, {inker :: pid(), penciller :: pid(), @@ -230,8 +231,9 @@ init([Opts]) -> % Start from file not snapshot {InkerOpts, PencillerOpts} = set_options(Opts), {Inker, Penciller} = startup(InkerOpts, PencillerOpts), + CacheJitter = ?CACHE_SIZE div ?CACHE_SIZE_JITTER, CacheSize = get_opt(cache_size, Opts, ?CACHE_SIZE) - + erlang:phash2(self()) band ?CACHE_SIZE_JITTER, + + erlang:phash2(self()) band CacheJitter, leveled_log:log("B0001", [Inker, Penciller]), {ok, #state{inker=Inker, penciller=Penciller, @@ -663,7 +665,11 @@ snapshot_store(State, SnapType) -> end. set_options(Opts) -> - MaxJournalSize = get_opt(max_journalsize, Opts, 10000000000), + MaxJournalSize0 = get_opt(max_journalsize, Opts, 10000000000), + JournalSizeJitter = MaxJournalSize0 div ?JOURNAL_SIZE_JITTER, + MaxJournalSize = MaxJournalSize0 - + erlang:phash2(self()) band JournalSizeJitter, + SyncStrat = get_opt(sync_strategy, Opts, sync), WRP = get_opt(waste_retention_period, Opts),