anchor.diff:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
   %% @type key() = term(). Key
  +-type(key() :: term()).
   %% @type value() = term(). Value
  +-type(value() :: term()).
   
   process_request_list(TLog, ReqList) ->
       erlang:put(instance_id, process_dictionary:find_group(cs_node)),
  
positive.code:     transaction_api:delete(Key, 2000).
  
  %% @doc atomic compare and swap
  %% @spec test_and_set(key(), value(), value()) -> {fail, Reason} | ok
  test_and_set(Key, OldValue, NewValue) ->
      TFun = fun(TransLog) ->
                     {Result, TransLog1} = transaction_api:read(Key, TransLog),
  
negative.code:     end.
  
  %% @doc reads the value of a key
  %% @spec read(key()) -> value() | {fail, term()} 
  -spec read(key()) -> value() | {fail, term()}.
  read(Key) ->
      case util:tc(transaction_api, quorum_read, [Key]) of
          {_Time, {fail, Reason}} ->
  