summaryrefslogtreecommitdiff
path: root/merge/src
diff options
context:
space:
mode:
Diffstat (limited to 'merge/src')
-rw-r--r--merge/src/merge_sth.erl10
-rw-r--r--merge/src/merge_sup.erl2
2 files changed, 9 insertions, 3 deletions
diff --git a/merge/src/merge_sth.erl b/merge/src/merge_sth.erl
index 13d5204..17a6a0d 100644
--- a/merge/src/merge_sth.erl
+++ b/merge/src/merge_sth.erl
@@ -40,8 +40,14 @@ terminate(Reason, #state{timer = Timer}) ->
%%%%%%%%%%%%%%%%%%%%
make_sth(noentry, State) ->
- lager:info("Waiting for sth file."),
- {noreply, State#state{timer = erlang:start_timer(1000, self(), make_sth)}};
+ case merge_util:readfile(minsize_path) of
+ noentry ->
+ lager:error("This log is invalid, missing both sth and minsize."),
+ exit({shutdown, invalid_log});
+ {struct, PropList} ->
+ MinSize = proplists:get_value(<<"size">>, PropList),
+ make_sth(MinSize, State)
+ end;
make_sth(CurSize, State) ->
{MergeSecondaryNames, _MergeSecondaryAddrs} =
lists:unzip(plopconfig:get_env(merge_secondaries, [])),
diff --git a/merge/src/merge_sup.erl b/merge/src/merge_sup.erl
index 72512ba..a158077 100644
--- a/merge/src/merge_sup.erl
+++ b/merge/src/merge_sup.erl
@@ -21,5 +21,5 @@ init([]) ->
{merge_dist_sup, {merge_dist_sup, start_link, [[]]},
transient, infinity, supervisor, [merge_dist_sup]},
{merge_sth, {merge_sth, start_link, [[]]},
- permanent, 10000, worker, [merge_sth]}
+ transient, 10000, worker, [merge_sth]}
]}}.