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

    • setChanged

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

      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

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

      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

      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

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

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

      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

      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

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

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

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

      default void setLoaded(boolean loaded)
    • isSkipSharedStore

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

      void setSkipSharedStore()
    • clone

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