diff options
| author | Matthew Sackman <matthew@lshift.net> | 2010-04-26 17:13:55 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2010-04-26 17:13:55 +0100 |
| commit | 765cb302de7b1e01a84490d56f4b8ed8e0f32801 (patch) | |
| tree | 0652186ec51da2208b4558cd768d9e664351c8dd | |
| parent | fb85ee7b086fa06cebe0eb22dddc1a89e3b6b4e4 (diff) | |
| parent | 9637b0056fb1112022bda43e5451bee9237d7f63 (diff) | |
| download | rabbitmq-server-git-765cb302de7b1e01a84490d56f4b8ed8e0f32801.tar.gz | |
Merging default into bug 21673
| -rw-r--r-- | ebin/rabbit_app.in | 2 | ||||
| -rw-r--r-- | src/rabbit_persister.erl | 22 |
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 |
