Interface MVCCEntry<K,V>

All Superinterfaces:
CacheEntry<K,V>, Cloneable, Map.Entry<K,V>, MetadataAware
All Known Implementing Classes:
ReadCommittedEntry, RepeatableReadEntry, VersionedRepeatableReadEntry

public interface MVCCEntry<K,V> extends CacheEntry<K,V>
An entry that can be safely copied when updates are made, to provide MVCC semantics
Since:
4.0
Author:
Manik Surtani
  • Method Details Link icon

    • setChanged Link icon

      void setChanged(boolean isChanged)
      Specified by:
      setChanged in interface CacheEntry<K,V>
    • setExpired Link icon

      void setExpired(boolean expired)
      Marks this entry as being expired. This is a special form of removal.
      Parameters:
      expired - whether or not this entry should be expired
    • isExpired Link icon

      boolean isExpired()
      Returns whether this entry was marked as being expired or not
      Returns:
      whether expired has been set
    • resetCurrentValue Link icon

      void resetCurrentValue()
      Reset the current value of the entry to the value before the command was executed the first time. This is invoked before the command is retried.
    • updatePreviousValue Link icon

      void updatePreviousValue()
      Update the previous value of the entry - set it to current value. This is invoked when the command is successfully finished (there won't be any more retries) or when the value was updated from external source.
    • getOldValue Link icon

      V getOldValue()
      Returns:
      The previous value.
    • getOldMetadata Link icon

      Metadata getOldMetadata()
      Returns:
      The previous metadata.
    • setRead Link icon

      default void setRead()
      Mark that this entry was loaded from the cache (as opposed to generated by the application using write-only command), mostly for purposes of the write skew check.
    • isRead Link icon

      default boolean isRead()
      Check is this entry as loaded from the cache (as opposed to generated by the application using write-only command), mostly for purposes of the write skew check.
    • setCommitted Link icon

      default void setCommitted()
      Mark this context-entry as already committed to the DataContainer.
    • isCommitted Link icon

      default boolean isCommitted()
      Returns:
      True if this context entry has been committed to the DataContainer
    • isLoaded Link icon

      default boolean isLoaded()
      Returns:
      True if we've checked persistence for presence of this entry.
    • setLoaded Link icon

      default void setLoaded(boolean loaded)
    • isSkipSharedStore Link icon

      boolean isSkipSharedStore()
      Returns:
      True if this entry should non be written to shared persistence
    • setSkipSharedStore Link icon

      void setSkipSharedStore()
    • clone Link icon

      MVCCEntry<K,V> clone()
      Specified by:
      clone in interface CacheEntry<K,V>