summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriilyak <iilyak@users.noreply.github.com>2019-02-25 12:20:27 -0800
committerGitHub <noreply@github.com>2019-02-25 12:20:27 -0800
commit8553ee662c6bfd08daabf521cf5c46e0e1696b9b (patch)
treed4abb489aa3b104e8defa15c4911fe06e48f3d05
parentd85183d90b9069f07b120281c4a2eaf203ecd577 (diff)
parent55bf6a3137571befcd74399f36fd80fa945fd8bc (diff)
downloadcouchdb-8553ee662c6bfd08daabf521cf5c46e0e1696b9b.tar.gz
Merge pull request #2 from cloudant/fix-compilation-warnings
Avoid using `erlang:now/0`
-rw-r--r--src/smoosh_priority_queue.erl7
-rw-r--r--src/smoosh_server.erl10
2 files changed, 11 insertions, 6 deletions
diff --git a/src/smoosh_priority_queue.erl b/src/smoosh_priority_queue.erl
index b7ede5507..6376103d9 100644
--- a/src/smoosh_priority_queue.erl
+++ b/src/smoosh_priority_queue.erl
@@ -24,8 +24,8 @@ new() ->
last_updated(Key, #priority_queue{dict=Dict}) ->
case dict:find(Key, Dict) of
- {ok, {_, LastUpdated}} ->
- LastUpdated;
+ {ok, {_Priority, {LastUpdatedMTime, _MInt}}} ->
+ LastUpdatedMTime;
error ->
false
end.
@@ -43,7 +43,8 @@ in(Key, Value, Priority, Capacity, #priority_queue{dict=Dict, tree=Tree}) ->
error ->
Tree
end,
- TreeKey1 = {Priority, now()},
+ Now = {erlang:monotonic_time(), erlang:unique_integer([monotonic])},
+ TreeKey1 = {Priority, Now},
Tree2 = gb_trees:enter(TreeKey1, {Key, Value}, Tree1),
Dict1 = dict:store(Key, TreeKey1, Dict),
truncate(Capacity, #priority_queue{dict=Dict1, tree=Tree2}).
diff --git a/src/smoosh_server.erl b/src/smoosh_server.erl
index 6a79d1439..43f4bd8e2 100644
--- a/src/smoosh_server.erl
+++ b/src/smoosh_server.erl
@@ -28,6 +28,8 @@
status/0
]).
+-define(SECONDS_PER_MINUTE, 60).
+
% gen_server api.
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
code_change/3, terminate/2]).
@@ -264,9 +266,11 @@ find_channel(_Tab, [], _Object) ->
find_channel(Tab, [Channel|Rest], Object) ->
Pid = channel_pid(Tab, Channel),
LastUpdated = smoosh_channel:last_updated(Pid, Object),
- Staleness = 6.0e7 * list_to_integer(config:get("smoosh", "staleness", "5")),
- case LastUpdated =:= false orelse
- timer:now_diff(now(), LastUpdated) > Staleness of
+ StalenessInSec = config:get_integer("smoosh", "staleness", 5)
+ * ?SECONDS_PER_MINUTE,
+ Staleness = erlang:convert_time_unit(StalenessInSec, seconds, native),
+ Now = erlang:monotonic_time(),
+ case LastUpdated =:= false orelse Now - LastUpdated > Staleness of
true ->
case smoosh_utils:ignore_db(Object) of
true ->