anchor.diff:  -spec callback(reference(), any(), state()) -> {ok, state()}.
   callback(_Ref, _Msg, State) ->
       {ok, State}.
  +
  +%% @doc Resets state of all running memory backends on the local
  +%% node. The `riak_kv' environment variable `memory_backend' must
  +%% contain the `test' property, set to `true' for this to work.
  +-spec reset() -> ok | {error, reset_disabled}.
  +reset() ->
  +    reset(app_helper:get_env(riak_kv, memory_backend), app_helper:get_env(riak_kv, storage_backend)).
  +
  +reset(undefined, _) ->
  +    {error, reset_disabled};
  +reset([], _) ->
  +    {error, reset_disabled};
  +reset(Props, ?MODULE) when is_list(Props) ->
  +    case proplists:get_value(test, Props) of
  +        true ->
  +            {ok, Ring} = riak_core_ring_manager:get_my_ring(),
  +            [ begin
  +                  catch ets:delete_all_objects(?TNAME(I)),
  +                  catch ets:delete_all_objects(?INAME(I)),
  +                  catch ets:delete_all_objects(?DNAME(I))
  +              end || I <- riak_core_ring:my_indices(Ring) ],
  +            ok;
  +        _ ->
  +            {error, reset_disabled}
  +    end;
  +reset(_, _) ->
  +    {error, reset_disabled}.
   
   %% ===================================================================
   %% Internal functions
  
positive.code:          callback/3]).
  
  %% "Testing" backend API
  %% -export([reset/0]).
  
  -ifdef(TEST).
  -include_lib("eunit/include/eunit.hrl").
  
negative.code:                              ['$_']}]).
  -define(DELETE_PTN(B,K), {{B,'_','_',K},'_'}).
  
  %% ETS table name macros so we can break encapsulation for testing
  %% mode
  -define(DNAME(P), list_to_atom("riak_kv_"++integer_to_list(P))).
  -define(INAME(P), list_to_atom("riak_kv_"++integer_to_list(P)++"_i")).
  -define(TNAME(P), list_to_atom("riak_kv_"++integer_to_list(P)++"_t")).
  
  -record(state, {data_ref :: ets:tid(),
                  index_ref :: ets:tid(),
                  time_ref :: ets:tid(),
  