anchor.diff:    set_possible_primary(Tab, Primary),
     State#topology_state{type = checkIfHasPrimary(Tab), setName = SetName};
   update_topology_state(#mc_server{type = SType, pid = Pid}, State = #topology_state{type = unknown}) when ?SEC_ARB_OTH(SType) ->
  -  exit(Pid, kill),
  +  exit(Pid, normal),
     State;
   update_topology_state(#mc_server{type = SType, pid = Pid},
       State = #topology_state{type = replicaSetNoPrimary}) when ?STAL_MONGS(SType) ->  %% REPLICASETNOPRIMARY
  -  exit(Pid, kill),
  +  exit(Pid, normal),
     State;
   update_topology_state(Server = #mc_server{type = SType, setName = SetName},
       State = #topology_state{type = replicaSetNoPrimary, setName = SetName}) when ?SEC_ARB_OTH(SType) ->
  
positive.code: update_topology_state(#mc_server{type = standalone}, State = #topology_state{type = unknown, seeds = Seeds}) when length(Seeds) =< 1 ->
    State#topology_state{type = standalone};
  update_topology_state(#mc_server{type = standalone, pid = Pid}, State = #topology_state{type = unknown}) ->
    exit(Pid, kill),
    State;
  update_topology_state(#mc_server{type = mongos}, State = #topology_state{type = unknown}) ->
    State#topology_state{type = sharded};
  
negative.code: update_topology_state(#mc_server{type = rsPrimary, pid = Pid, host = Host, setName = SSetName},
      State = #topology_state{setName = CSetName, servers = Tab}) when SSetName =/= CSetName ->
    ets:insert(Tab, #mc_server{pid = Pid, host = Host, type = deleted}),
    exit(Pid, normal),
    State#topology_state{type = checkIfHasPrimary(Tab)};
  update_topology_state(_, State) ->
    State.
  