anchor.diff:              pvc_are_keys_stale(SelfPartition, Keys, PrepareVC, CommittedTx)
       end.
   
  --spec pvc_store_key_commitvc(cache_id(), list(), vectorclock_partition:partition_vc()) -> ok.
  -pvc_store_key_commitvc(CommittedTx, WriteSet, CommitVC) ->
  -    Objects = [{Key, CommitVC} || {Key, _, _} <- WriteSet],
  +-spec pvc_store_key_commitvc(partition_id(), cache_id(), list(), vectorclock_partition:partition_vc()) -> ok.
  +pvc_store_key_commitvc(Partition, CommittedTx, WriteSet, CommitVC) ->
  +    PartitionTime = vectorclock_partition:get_partition_time(Partition, CommitVC),
  +    Objects = [{Key, Partition, PartitionTime} || {Key, _, _} <- WriteSet],
       true = ets:insert(CommittedTx, Objects),
       ok.
   
  
positive.code:                 ok = pvc_append_commits(Partition, Id, WS, VC, MRVC),
  
                  %% Cache last commit time for the WS keys (for stale VC check)
                  ok = pvc_store_key_commitvc(CommittedTx, WS, VC)
              end, Entries)
      end,
      {noreply, State#state{pvc_commitqueue = NewQueue}};
  
negative.code:         [] ->
              false;
  
          [{Key, SelfPartition, CommitTime}] ->
              PrepareTime = vectorclock_partition:get_partition_time(SelfPartition, PrepareVC),
              CommitTime > PrepareTime
      end,
  