summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-04-26 17:03:43 +0100
committerMatthew Sackman <matthew@lshift.net>2010-04-26 17:03:43 +0100
commit9637b0056fb1112022bda43e5451bee9237d7f63 (patch)
tree2be2553934ebd6b50df75066f4fac0df63d22be6
parenta11602c05cc18553325f2a2f87d43c7d1617e2f4 (diff)
parentaaf0564c857b6bf97ba71903fb930b988d8933f7 (diff)
downloadrabbitmq-server-git-9637b0056fb1112022bda43e5451bee9237d7f63.tar.gz
Merging bug 22584 into default
-rw-r--r--ebin/rabbit_app.in2
-rw-r--r--src/rabbit_persister.erl22
2 files changed, 13 insertions, 11 deletions
diff --git a/ebin/rabbit_app.in b/ebin/rabbit_app.in
index 3616fcbf6c..ad8e35492b 100644
--- a/ebin/rabbit_app.in
+++ b/ebin/rabbit_app.in
@@ -18,6 +18,8 @@
{ssl_listeners, []},
{ssl_options, []},
{vm_memory_high_watermark, 0.4},
+ {persister_max_wrap_entries, 500},
+ {persister_hibernate_after, 10000},
{default_user, <<"guest">>},
{default_pass, <<"guest">>},
{default_vhost, <<"/">>},
diff --git a/src/rabbit_persister.erl b/src/rabbit_persister.erl
index 2729b8380a..a9e0cab928 100644
--- a/src/rabbit_persister.erl
+++ b/src/rabbit_persister.erl
@@ -49,10 +49,6 @@
-define(LOG_BUNDLE_DELAY, 5).
-define(COMPLETE_BUNDLE_DELAY, 2).
--define(HIBERNATE_AFTER, 10000).
-
--define(MAX_WRAP_ENTRIES, 500).
-
-define(PERSISTER_LOG_FORMAT_VERSION, {2, 6}).
-record(pstate, {log_handle, entry_count, deadline,
@@ -272,12 +268,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(),
@@ -294,7 +293,8 @@ compute_deadline(_TimerDelay, ExistingDeadline) ->
ExistingDeadline.
compute_timeout(infinity) ->
- ?HIBERNATE_AFTER;
+ {ok, HibernateAfter} = application:get_env(persister_hibernate_after),
+ HibernateAfter;
compute_timeout(Deadline) ->
DeltaMilliSec = time_diff(Deadline, now()) * 1000.0,
if