summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Garnock-Jones <tonyg@lshift.net>2010-04-06 09:54:32 +1200
committerTony Garnock-Jones <tonyg@lshift.net>2010-04-06 09:54:32 +1200
commit6b320ac040461c6b4206c1d6fa5feb76614bc359 (patch)
tree2976985c9a310fcc31035677c75f6d9c46fbc5b6
parent15d76638c881fb470e72ea900c0cad56638269e2 (diff)
downloadrabbitmq-server-6b320ac040461c6b4206c1d6fa5feb76614bc359.tar.gz
Create persister_max_wrap_entries configuration variable.
-rw-r--r--ebin/rabbit_app.in1
-rw-r--r--src/rabbit_persister.erl17
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(),