anchor.diff:  -export([make_ring/2, 
            fill_ring/3,
            start_sync/0,
  +         db_stats/0,
            set_recon_method/1]).
   
   -export([test_upd/0,
  
positive.code: -type db_parameter() :: {ftype, failure_type()} |
                          {fprob, 0..100} |            %failure probability
                          {distribution, db_generator:distribution()}.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Eval Quick Start
  
negative.code:     wait_for_stable_ring(),
      ok.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  % @doc  DBSize=Number of Data Entities in DB (without replicas)
  -spec fill_ring(db_type(), pos_integer(), [db_parameter()]) -> ok.
  fill_ring(Type, DBSize, Params) ->
      erlang:put(?DBSizeKey, ?ReplicationFactor * DBSize),
      case Type of
          random -> fill_random(DBSize, Params);
          wiki -> fill_wiki(DBSize, Params)
      end.
  
  fill_random(DBSize, Params) ->    
      Distr = proplists:get_value(distribution, Params, uniform),            
      I = hd(intervals:split(intervals:all(), ?ReplicationFactor)),
      Keys = db_generator:get_db(I, DBSize, Distr),    
      insert_random_db(Keys, Params),
      ok.
  fill_wiki(DBSize, Params) ->
      %TODO
      ok.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  -spec start_sync() -> ok.
  start_sync() ->
  