diff options
author | Tony Garnock-Jones <tonyg@lshift.net> | 2010-04-06 09:54:32 +1200 |
---|---|---|
committer | Tony Garnock-Jones <tonyg@lshift.net> | 2010-04-06 09:54:32 +1200 |
commit | 6b320ac040461c6b4206c1d6fa5feb76614bc359 (patch) | |
tree | 2976985c9a310fcc31035677c75f6d9c46fbc5b6 | |
parent | 15d76638c881fb470e72ea900c0cad56638269e2 (diff) | |
download | rabbitmq-server-6b320ac040461c6b4206c1d6fa5feb76614bc359.tar.gz |
Create persister_max_wrap_entries configuration variable.
-rw-r--r-- | ebin/rabbit_app.in | 1 | ||||
-rw-r--r-- | src/rabbit_persister.erl | 17 |
2 files changed, 10 insertions, 8 deletions
diff --git a/ebin/rabbit_app.in b/ebin/rabbit_app.in index 3616fcbf..aaffcc32 100644 --- a/ebin/rabbit_app.in +++ b/ebin/rabbit_app.in @@ -18,6 +18,7 @@ {ssl_listeners, []}, {ssl_options, []}, {vm_memory_high_watermark, 0.4}, + {persister_max_wrap_entries, 500}, {default_user, <<"guest">>}, {default_pass, <<"guest">>}, {default_vhost, <<"/">>}, diff --git a/src/rabbit_persister.erl b/src/rabbit_persister.erl index 019d2a26..34b01922 100644 --- a/src/rabbit_persister.erl +++ b/src/rabbit_persister.erl @@ -51,8 +51,6 @@ -define(HIBERNATE_AFTER, 10000). --define(MAX_WRAP_ENTRIES, 500). - -define(PERSISTER_LOG_FORMAT_VERSION, {2, 4}). -record(pstate, {log_handle, entry_count, deadline, @@ -282,12 +280,15 @@ take_snapshot_and_save_old(LogHandle, Snapshot) -> maybe_take_snapshot(Force, State = #pstate{entry_count = EntryCount, log_handle = LH, - snapshot = Snapshot}) - when Force orelse EntryCount >= ?MAX_WRAP_ENTRIES -> - ok = take_snapshot(LH, Snapshot), - State#pstate{entry_count = 0}; -maybe_take_snapshot(_Force, State) -> - State. + snapshot = Snapshot}) -> + {ok, MaxWrapEntries} = application:get_env(persister_max_wrap_entries), + if + Force orelse EntryCount >= MaxWrapEntries -> + ok = take_snapshot(LH, Snapshot), + State#pstate{entry_count = 0}; + true -> + State + end. later_ms(DeltaMilliSec) -> {MegaSec, Sec, MicroSec} = now(), |