Package oracle.kv

Class Durability

java.lang.Object
oracle.kv.Durability
All Implemented Interfaces:
Serializable, oracle.kv.impl.util.FastExternalizable

public class Durability extends Object implements oracle.kv.impl.util.FastExternalizable, Serializable
Defines the durability characteristics associated with a standalone write (put or update) operation, or in the case of KVStore.execute with a set of operations performed in a single transaction.

The overall durability is a function of the Durability.SyncPolicy and Durability.ReplicaAckPolicy in effect for the Master, and the Durability.SyncPolicy in effect for each Replica.

See Also:
  • Field Details

    • COMMIT_SYNC

      public static final Durability COMMIT_SYNC
      A convenience constant that defines a durability policy with COMMIT_SYNC for Master commit synchronization. The policies default to COMMIT_NO_SYNC for commits of replicated transactions that need acknowledgment and SIMPLE_MAJORITY for the acknowledgment policy.
    • COMMIT_NO_SYNC

      public static final Durability COMMIT_NO_SYNC
      A convenience constant that defines a durability policy with COMMIT_NO_SYNC for Master commit synchronization. The policies default to COMMIT_NO_SYNC for commits of replicated transactions that need acknowledgment and SIMPLE_MAJORITY for the acknowledgment policy.
    • COMMIT_WRITE_NO_SYNC

      public static final Durability COMMIT_WRITE_NO_SYNC
      A convenience constant that defines a durability policy with COMMIT_WRITE_NO_SYNC for Master commit synchronization. The policies default to COMMIT_NO_SYNC for commits of replicated transactions that need acknowledgment and SIMPLE_MAJORITY for the acknowledgment policy.
  • Constructor Details

    • Durability

      public Durability(Durability.SyncPolicy masterSync, Durability.SyncPolicy replicaSync, Durability.ReplicaAckPolicy replicaAck)
      Creates an instance of a Durability specification.
      Parameters:
      masterSync - the SyncPolicy to be used when committing the transaction on the Master.
      replicaSync - the SyncPolicy to be used remotely, as part of a transaction acknowledgment, at a Replica node.
      replicaAck - the acknowledgment policy used when obtaining transaction acknowledgments from Replicas.
  • Method Details

    • toByteArray

      public byte[] toByteArray()
      Returns this Durability as a serialized byte array, such that fromByteArray(byte[]) may be used to reconstitute the Durability. Values returned by calls to this method can be used with current and newer releases, but are not guaranteed to be compatible with earlier releases.
    • fromByteArray

      public static Durability fromByteArray(byte[] keyBytes)
      Deserializes the given bytes that were returned earlier by toByteArray() and returns the resulting Durability. Values created with either the current or earlier releases can be used with this method, but values created by later releases are not guaranteed to be compatible.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getMasterSync

      public Durability.SyncPolicy getMasterSync()
      Returns the transaction synchronization policy to be used on the Master when committing a transaction.
    • getReplicaSync

      public Durability.SyncPolicy getReplicaSync()
      Returns the transaction synchronization policy to be used by the replica as it replays a transaction that needs an acknowledgment.
    • getReplicaAck

      public Durability.ReplicaAckPolicy getReplicaAck()
      Returns the replica acknowledgment policy used by the master when committing changes to a replicated environment.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object