From 0bdd4f5b8e82b9c082db7c7599f5385916d35a64 Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Fri, 31 Jul 2015 08:18:29 +0200 Subject: Implement merge/setverifiedsize --- src/frontend.erl | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/frontend.erl b/src/frontend.erl index 3924fb8..0144041 100644 --- a/src/frontend.erl +++ b/src/frontend.erl @@ -147,13 +147,32 @@ request(post, "catlfish/merge/verifyroot", Input) -> end end; -%% implement setverifiedsize - request(get, "catlfish/merge/verifiedsize", _Query) -> Size = db:verifiedsize(), success({[{result, <<"ok">>}, {size, Size}]}); +request(post, "catlfish/merge/setverifiedsize", Input) -> + case (catch mochijson2:decode(Input)) of + {error, E} -> + html("setverifiedsize: bad input:", E); + {struct, PropList} -> + OldSize = db:verifiedsize(), + Treesize = proplists:get_value(<<"size">>, PropList), + Indexsize = db:indexsize(), + + if + Treesize > Indexsize -> + html("Has too few entries", Indexsize); + OldSize > Treesize -> + success({[{result, <<"ok">>}]}); + true -> + db:set_verifiedsize(Treesize), + success({[{result, <<"ok">>}]}) + end + end; + + request(get, "catlfish/merge/missingentries", _Query) -> Size = db:verifiedsize(), Missing = fetchmissingentries(Size), @@ -192,8 +211,10 @@ check_entries(Entries, Start, End) -> check_entries_noreverse(Entries, Start, End) -> lists:foldl(fun ({Hash, Index}, Acc) -> + lager:info("checking entry ~p", [Index]), case check_entry_noreverse(Hash, Index) of ok -> + lager:info("entry ~p is correct", [Index]), Acc; Error -> [Error | Acc] -- cgit v1.1