summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-04-26 17:13:55 +0100
committerMatthew Sackman <matthew@lshift.net>2010-04-26 17:13:55 +0100
commit765cb302de7b1e01a84490d56f4b8ed8e0f32801 (patch)
tree0652186ec51da2208b4558cd768d9e664351c8dd
parentfb85ee7b086fa06cebe0eb22dddc1a89e3b6b4e4 (diff)
parent9637b0056fb1112022bda43e5451bee9237d7f63 (diff)
downloadrabbitmq-server-git-765cb302de7b1e01a84490d56f4b8ed8e0f32801.tar.gz
Merging default into bug 21673
-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 ffac1cd805..beeb87bb61 100644
--- a/ebin/rabbit_app.in
+++ b/ebin/rabbit_app.in
@@ -20,6 +20,8 @@
{vm_memory_high_watermark, 0.4},
{msg_store_index_module, rabbit_msg_store_ets_index},
{backing_queue_module, rabbit_variable_queue},
+ {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 ba9430fe2e..a8e41baf74 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,
@@ -284,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(),
@@ -306,7 +305,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