Class DatabaseOptions

java.lang.Object
com.apple.foundationdb.DatabaseOptions

public class DatabaseOptions extends Object
A set of options that can be set on a Database.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the object on which these options are being set.
    void
    Specify the datacenter ID that was passed to fdbserver processes running in the same datacenter as this client, for better location-aware load balancing.
    void
    Set the size of the client location cache.
    void
    Specify the machine ID that was passed to fdbserver processes running on the same machine as this client, for better location-aware load balancing.
    void
    setMaxWatches(long value)
    Set the maximum number of watches allowed to be outstanding on a database connection.
    void
    Snapshot read operations will not see the results of writes done in the same transaction.
    void
    Snapshot read operations will see the results of writes done in the same transaction.
    void
    Enables verification of causal read risky by checking whether clients are able to read stale data when they detect a recovery, and logging an error if so.
    void
    Set a random idempotency id for all transactions.
    void
    Allows get operations to read from sections of keyspace that have become unreadable because of versionstamp operations.
    void
    The read version will be committed, and usually will be the latest committed, but might not be the latest committed in the event of a simultaneous fault and misbehaving clock.
    void
    Deprecated.
    void
    Sets the maximum escaped length of key and value fields to be logged to the trace file via the LOG_TRANSACTION option.
    void
    Set the maximum amount of backoff delay incurred in the call to onError if the error is retryable.
    void
    Enables conflicting key reporting on all transactions, allowing them to retrieve the keys that are conflicting with other transactions.
    void
    Set a maximum number of retries after which additional calls to onError will throw the most recently seen error code.
    void
    Set the maximum transaction size in bytes.
    void
    Set a timeout in milliseconds which, when elapsed, will cause each transaction automatically to be cancelled.
    void
    By default, operations that are performed on a transaction while it is being committed will not only fail themselves, but they will attempt to fail other in-flight operations (such as the commit) as well.
    void
    Use configuration database.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • setLocationCacheSize

      public void setLocationCacheSize(long value)
      Set the size of the client location cache. Raising this value can boost performance in very large databases where clients access data in a near-random pattern. Defaults to 100000.
      Parameters:
      value - Max location cache entries
    • setMaxWatches

      public void setMaxWatches(long value)
      Set the maximum number of watches allowed to be outstanding on a database connection. Increasing this number could result in increased resource usage. Reducing this number will not cancel any outstanding watches. Defaults to 10000 and cannot be larger than 1000000.
      Parameters:
      value - Max outstanding watches
    • setMachineId

      public void setMachineId(String value)
      Specify the machine ID that was passed to fdbserver processes running on the same machine as this client, for better location-aware load balancing.
      Parameters:
      value - Hexadecimal ID
    • setDatacenterId

      public void setDatacenterId(String value)
      Specify the datacenter ID that was passed to fdbserver processes running in the same datacenter as this client, for better location-aware load balancing.
      Parameters:
      value - A string identifier for the datacenter
    • setSnapshotRywEnable

      public void setSnapshotRywEnable()
      Snapshot read operations will see the results of writes done in the same transaction. This is the default behavior.
    • setSnapshotRywDisable

      public void setSnapshotRywDisable()
      Snapshot read operations will not see the results of writes done in the same transaction. This was the default behavior prior to API version 300.
    • setTransactionLoggingMaxFieldLength

      public void setTransactionLoggingMaxFieldLength(long value)
      Sets the maximum escaped length of key and value fields to be logged to the trace file via the LOG_TRANSACTION option. This sets the transaction_logging_max_field_length option of each transaction created by this database. See the transaction option description for more information.
      Parameters:
      value - Maximum length of escaped key and value fields.
    • setTransactionTimeout

      public void setTransactionTimeout(long value)
      Set a timeout in milliseconds which, when elapsed, will cause each transaction automatically to be cancelled. This sets the timeout option of each transaction created by this database. See the transaction option description for more information. Using this option requires that the API version is 610 or higher.
      Parameters:
      value - value in milliseconds of timeout
    • setTransactionRetryLimit

      public void setTransactionRetryLimit(long value)
      Set a maximum number of retries after which additional calls to onError will throw the most recently seen error code. This sets the retry_limit option of each transaction created by this database. See the transaction option description for more information.
      Parameters:
      value - number of times to retry
    • setTransactionMaxRetryDelay

      public void setTransactionMaxRetryDelay(long value)
      Set the maximum amount of backoff delay incurred in the call to onError if the error is retryable. This sets the max_retry_delay option of each transaction created by this database. See the transaction option description for more information.
      Parameters:
      value - value in milliseconds of maximum delay
    • setTransactionSizeLimit

      public void setTransactionSizeLimit(long value)
      Set the maximum transaction size in bytes. This sets the size_limit option on each transaction created by this database. See the transaction option description for more information.
      Parameters:
      value - value in bytes
    • setTransactionCausalReadRisky

      public void setTransactionCausalReadRisky()
      The read version will be committed, and usually will be the latest committed, but might not be the latest committed in the event of a simultaneous fault and misbehaving clock.
    • setTransactionIncludePortInAddress

      @Deprecated public void setTransactionIncludePortInAddress()
      Deprecated.
      Deprecated. Addresses returned by get_addresses_for_key include the port when enabled. As of api version 630, this option is enabled by default and setting this has no effect.
    • setTransactionAutomaticIdempotency

      public void setTransactionAutomaticIdempotency()
      Set a random idempotency id for all transactions. See the transaction option description for more information. This feature is in development and not ready for general use.
    • setTransactionBypassUnreadable

      public void setTransactionBypassUnreadable()
      Allows get operations to read from sections of keyspace that have become unreadable because of versionstamp operations. This sets the bypass_unreadable option of each transaction created by this database. See the transaction option description for more information.
    • setTransactionUsedDuringCommitProtectionDisable

      public void setTransactionUsedDuringCommitProtectionDisable()
      By default, operations that are performed on a transaction while it is being committed will not only fail themselves, but they will attempt to fail other in-flight operations (such as the commit) as well. This behavior is intended to help developers discover situations where operations could be unintentionally executed after the transaction has been reset. Setting this option removes that protection, causing only the offending operation to fail.
    • setTransactionReportConflictingKeys

      public void setTransactionReportConflictingKeys()
      Enables conflicting key reporting on all transactions, allowing them to retrieve the keys that are conflicting with other transactions.
    • setUseConfigDatabase

      public void setUseConfigDatabase()
      Use configuration database.
    • setTestCausalReadRisky

      public void setTestCausalReadRisky(long value)
      Enables verification of causal read risky by checking whether clients are able to read stale data when they detect a recovery, and logging an error if so.
      Parameters:
      value - integer between 0 and 100 expressing the probability a client will verify it can't read stale data
    • getOptionConsumer

      public OptionConsumer getOptionConsumer()
      Returns the object on which these options are being set. Rarely used by client code, since all options should be top-level methods on extending classes.
      Returns:
      target of option set calls