anchor.diff:  %% calls to the archiver
   
   run_basic_test_do() ->
  -    ?assertEqual(ok, ?MODULE:local_alert(foo, <<"bar">>)),
  +    ?assertEqual(ok, ?MODULE:local_alert({foo, node()}, <<"bar">>)),
       ?assertMatch({[<<"bar">>], _}, ?MODULE:fetch_alerts()),
       {[<<"bar">>], Opaque1} = ?MODULE:fetch_alerts(),
       ?assertMatch({true, {[], _}}, {?MODULE:consume_alerts(Opaque1), ?MODULE:fetch_alerts()}),
   
  -    ?assertEqual(ok, ?MODULE:local_alert(bar, <<"bar">>)),
  -    ?assertEqual(ignored, ?MODULE:local_alert(bar, <<"bar">>)),
  +    ?assertEqual(ok, ?MODULE:local_alert({bar, node()}, <<"bar">>)),
  +    ?assertEqual(ignored, ?MODULE:local_alert({bar, node()}, <<"bar">>)),
       {[<<"bar">>], Opaque2} = ?MODULE:fetch_alerts(),
       true = (Opaque1 =/= Opaque2),
       ?assertEqual(false, ?MODULE:consume_alerts(Opaque1)),
  
positive.code: to_str(Msg) ->
      Msg.
  
  maybe_send_out_email_alert({Key, Node}, Message) when is_atom(Node) ->
      case Node =:= node() of
          true ->
              {value, Config} = ns_config:search(email_alerts),
  
negative.code:             end;
          false ->
              ok
      end.
  
  alert_keys() ->
      [ip, disk, overhead, ep_oom_errors, ep_item_commit_failed].
  