anchor.diff:  
   %% Handle stream crashes
   %% todo: ensure VFS-1877 is resolved (otherwise it probably isn't working)
  +handle({'EXIT', _, stream_replaced}) ->
  +    ok;
   handle({'EXIT', Stream, Reason}) ->
       case state_get(changes_stream) of
           Stream ->
  
positive.code:     DBSyncPid = whereis(?MODULE),
      case self() of
          DBSyncPid ->
              DoUpdate();
          _ ->
              datastore:run_synchronized(dbsync_state, term_to_binary(Key), DoUpdate)
      end.
  
  
  
negative.code: handle({async_init_stream, undefined, Until, Queue}) ->
      handle({async_init_stream, 0, Until, Queue});
  handle({async_init_stream, Since, Until, Queue}) ->
      CurrentStream = state_get(changes_stream),
      state_update(changes_stream, fun(OldStream) ->
          case CurrentStream of
              OldStream ->
                  case catch init_stream(Since, infinity, Queue) of
                      {ok, Pid} ->
                              catch exit(OldStream, stream_replaced),
                          Pid;
                      Reason ->
                          ?warning("Unable to start stream ~p (since ~p until ~p) due to: ~p", [Queue, Since, Until, Reason]),
                          timer:send_after(?GLOBAL_STREAM_RESTART_INTERVAL, whereis(dbsync_worker), {timer, {async_init_stream, Since, Until, Queue}}),
                          undefined
                  end;
              _ ->
                  ?info("Ignoring stream ~p restart request: stream has been changed since
                          request was issued."),
                  OldStream
          end
      end);
  %% Unknown request
  