anchor.diff:  
   get_datanodes_ids(BKey) ->
       gen_server:call(?MODULE, {get_datanodes_ids, BKey}, infinity).
  +
  +get_closest_dcid(BKey) ->
  +    gen_server:call(?MODULE, {get_closest_dcid, BKey}, infinity).
   
   interested(Id, BKey) ->
       gen_server:call(?MODULE, {interested, Id, BKey}, infinity).
  
positive.code:             {reply, {error, unknown_key}, S0}
      end;
  
  handle_call({get_datanodes_ids, BKey}, _From, S0=#state{groups=RGroups, myid=MyId}) ->
      {Bucket, _Key} = BKey,
      case dict:find(Bucket, RGroups) of
  
negative.code:          set_groupsdict/1,
           get_bucket_sample/0,
           is_leaf/1,
           get_closest_dcid/1,
           do_replicate/1]).
  
  -record(state, {groups,
  