
com.apple.foundationdb.DatabaseOptions Maven / Gradle / Ivy
package com.apple.foundationdb;
/**
* A set of options that can be set on a {@link Database}.
*/
public class DatabaseOptions extends OptionsSet {
public DatabaseOptions( OptionConsumer consumer ) { super(consumer); }
/**
* 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.
*
* @param value Max location cache entries
*/
public void setLocationCacheSize(long value) { setOption(10, 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.
*
* @param value Max outstanding watches
*/
public void setMaxWatches(long value) { setOption(20, 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.
*
* @param value Hexadecimal ID
*/
public void setMachineId(String value) { setOption(21, 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.
*
* @param value Hexadecimal ID
*/
public void setDatacenterId(String value) { setOption(22, value); }
/**
* Snapshot read operations will see the results of writes done in the same transaction. This is the default behavior.
*/
public void setSnapshotRywEnable() { setOption(26); }
/**
* 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.
*/
public void setSnapshotRywDisable() { setOption(27); }
/**
* 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 {@code transaction_logging_max_field_length} option of each transaction created by this database. See the transaction option description for more information.
*
* @param value Maximum length of escaped key and value fields.
*/
public void setTransactionLoggingMaxFieldLength(long value) { setOption(405, value); }
/**
* Set a timeout in milliseconds which, when elapsed, will cause each transaction automatically to be cancelled. This sets the {@code 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.
*
* @param value value in milliseconds of timeout
*/
public void setTransactionTimeout(long value) { setOption(500, value); }
/**
* Set a timeout in milliseconds which, when elapsed, will cause a transaction automatically to be cancelled. This sets the {@code retry_limit} option of each transaction created by this database. See the transaction option description for more information.
*
* @param value number of times to retry
*/
public void setTransactionRetryLimit(long value) { setOption(501, value); }
/**
* Set the maximum amount of backoff delay incurred in the call to {@code onError} if the error is retryable. This sets the {@code max_retry_delay} option of each transaction created by this database. See the transaction option description for more information.
*
* @param value value in milliseconds of maximum delay
*/
public void setTransactionMaxRetryDelay(long value) { setOption(502, value); }
/**
* Set the maximum transaction size in bytes. This sets the {@code size_limit} option on each transaction created by this database. See the transaction option description for more information.
*
* @param value value in bytes
*/
public void setTransactionSizeLimit(long value) { setOption(503, value); }
/**
* 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.
*/
public void setTransactionCausalReadRisky() { setOption(504); }
/**
* Addresses returned by get_addresses_for_key include the port when enabled. This will be enabled by default in api version 700, and this option will be deprecated.
*/
public void setTransactionIncludePortInAddress() { setOption(505); }
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy