diff options
| author | Matthew Sackman <matthew@lshift.net> | 2010-04-26 17:03:43 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2010-04-26 17:03:43 +0100 |
| commit | 9637b0056fb1112022bda43e5451bee9237d7f63 (patch) | |
| tree | 2be2553934ebd6b50df75066f4fac0df63d22be6 | |
| parent | a11602c05cc18553325f2a2f87d43c7d1617e2f4 (diff) | |
| parent | aaf0564c857b6bf97ba71903fb930b988d8933f7 (diff) | |
| download | rabbitmq-server-git-9637b0056fb1112022bda43e5451bee9237d7f63.tar.gz | |
Merging bug 22584 into default
| -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 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 |
