/*
* Copyright DataStax, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.datastax.oss.driver.api.core.config;
import com.datastax.dse.driver.api.core.config.DseDriverOption;
import com.datastax.oss.driver.api.core.type.reflect.GenericType;
import com.datastax.oss.driver.shaded.guava.common.collect.ImmutableList;
import edu.umd.cs.findbugs.annotations.NonNull;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.time.Duration;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.StringJoiner;
A type-safe wrapper around DriverOption
, that encodes the intended value type of each option. This type was introduced in conjunction with DriverConfigLoader.fromMap(OptionsMap)
. Unfortunately, for backward compatibility reasons, it wasn't possible to retrofit the rest of the driver to use it; therefore the APIs used to read the configuration, such as DriverConfig
and DriverExecutionProfile
, still use the untyped DriverOption
.
Since: 4.6.0
/**
* A type-safe wrapper around {@link DriverOption}, that encodes the intended value type of each
* option.
*
* <p>This type was introduced in conjunction with {@link DriverConfigLoader#fromMap(OptionsMap)}.
* Unfortunately, for backward compatibility reasons, it wasn't possible to retrofit the rest of the
* driver to use it; therefore the APIs used to read the configuration, such as {@link DriverConfig}
* and {@link DriverExecutionProfile}, still use the untyped {@link DriverOption}.
*
* @since 4.6.0
*/
public class TypedDriverOption<ValueT> {
private static volatile Iterable<TypedDriverOption<?>> builtInValues;
Returns the list of all built-in options known to the driver codebase; in other words, all the TypedDriverOption
constants defined on this class. Note that 3rd-party driver extensions might define their own TypedDriverOption
constants for custom options.
This method uses reflection to introspect all the constants on this class; the result is
computed lazily on the first invocation, and then cached for future calls.
/**
* Returns the list of all built-in options known to the driver codebase; in other words, all the
* {@link TypedDriverOption} constants defined on this class.
*
* <p>Note that 3rd-party driver extensions might define their own {@link TypedDriverOption}
* constants for custom options.
*
* <p>This method uses reflection to introspect all the constants on this class; the result is
* computed lazily on the first invocation, and then cached for future calls.
*/
public static Iterable<TypedDriverOption<?>> builtInValues() {
if (builtInValues == null) {
builtInValues = introspectBuiltInValues();
}
return builtInValues;
}
private final DriverOption rawOption;
private final GenericType<ValueT> expectedType;
public TypedDriverOption(
@NonNull DriverOption rawOption, @NonNull GenericType<ValueT> expectedType) {
this.rawOption = Objects.requireNonNull(rawOption);
this.expectedType = Objects.requireNonNull(expectedType);
}
@NonNull
public DriverOption getRawOption() {
return rawOption;
}
@NonNull
public GenericType<ValueT> getExpectedType() {
return expectedType;
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
} else if (other instanceof TypedDriverOption) {
TypedDriverOption<?> that = (TypedDriverOption<?>) other;
return this.rawOption.equals(that.rawOption) && this.expectedType.equals(that.expectedType);
} else {
return false;
}
}
@Override
public int hashCode() {
return Objects.hash(rawOption, expectedType);
}
@Override
public String toString() {
return new StringJoiner(", ", TypedDriverOption.class.getSimpleName() + "[", "]")
.add("rawOption=" + rawOption)
.add("expectedType=" + expectedType)
.toString();
}
The contact points to use for the initial connection to the cluster. /** The contact points to use for the initial connection to the cluster. */
public static final TypedDriverOption<List<String>> CONTACT_POINTS =
new TypedDriverOption<>(DefaultDriverOption.CONTACT_POINTS, GenericType.listOf(String.class));
A name that uniquely identifies the driver instance. /** A name that uniquely identifies the driver instance. */
public static final TypedDriverOption<String> SESSION_NAME =
new TypedDriverOption<>(DefaultDriverOption.SESSION_NAME, GenericType.STRING);
The name of the keyspace that the session should initially be connected to. /** The name of the keyspace that the session should initially be connected to. */
public static final TypedDriverOption<String> SESSION_KEYSPACE =
new TypedDriverOption<>(DefaultDriverOption.SESSION_KEYSPACE, GenericType.STRING);
How often the driver tries to reload the configuration. /** How often the driver tries to reload the configuration. */
public static final TypedDriverOption<Duration> CONFIG_RELOAD_INTERVAL =
new TypedDriverOption<>(DefaultDriverOption.CONFIG_RELOAD_INTERVAL, GenericType.DURATION);
How long the driver waits for a request to complete. /** How long the driver waits for a request to complete. */
public static final TypedDriverOption<Duration> REQUEST_TIMEOUT =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_TIMEOUT, GenericType.DURATION);
The consistency level. /** The consistency level. */
public static final TypedDriverOption<String> REQUEST_CONSISTENCY =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_CONSISTENCY, GenericType.STRING);
The page size. /** The page size. */
public static final TypedDriverOption<Integer> REQUEST_PAGE_SIZE =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_PAGE_SIZE, GenericType.INTEGER);
The serial consistency level. /** The serial consistency level. */
public static final TypedDriverOption<String> REQUEST_SERIAL_CONSISTENCY =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_SERIAL_CONSISTENCY, GenericType.STRING);
The default idempotence of a request. /** The default idempotence of a request. */
public static final TypedDriverOption<Boolean> REQUEST_DEFAULT_IDEMPOTENCE =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_DEFAULT_IDEMPOTENCE, GenericType.BOOLEAN);
The class of the load balancing policy. /** The class of the load balancing policy. */
public static final TypedDriverOption<String> LOAD_BALANCING_POLICY_CLASS =
new TypedDriverOption<>(DefaultDriverOption.LOAD_BALANCING_POLICY_CLASS, GenericType.STRING);
The datacenter that is considered "local". /** The datacenter that is considered "local". */
public static final TypedDriverOption<String> LOAD_BALANCING_LOCAL_DATACENTER =
new TypedDriverOption<>(
DefaultDriverOption.LOAD_BALANCING_LOCAL_DATACENTER, GenericType.STRING);
A custom filter to include/exclude nodes. /** A custom filter to include/exclude nodes. */
public static final TypedDriverOption<String> LOAD_BALANCING_FILTER_CLASS =
new TypedDriverOption<>(DefaultDriverOption.LOAD_BALANCING_FILTER_CLASS, GenericType.STRING);
The timeout to use for internal queries that run as part of the initialization process. /** The timeout to use for internal queries that run as part of the initialization process. */
public static final TypedDriverOption<Duration> CONNECTION_INIT_QUERY_TIMEOUT =
new TypedDriverOption<>(
DefaultDriverOption.CONNECTION_INIT_QUERY_TIMEOUT, GenericType.DURATION);
The timeout to use when the driver changes the keyspace on a connection at runtime. /** The timeout to use when the driver changes the keyspace on a connection at runtime. */
public static final TypedDriverOption<Duration> CONNECTION_SET_KEYSPACE_TIMEOUT =
new TypedDriverOption<>(
DefaultDriverOption.CONNECTION_SET_KEYSPACE_TIMEOUT, GenericType.DURATION);
The maximum number of requests that can be executed concurrently on a connection. /** The maximum number of requests that can be executed concurrently on a connection. */
public static final TypedDriverOption<Integer> CONNECTION_MAX_REQUESTS =
new TypedDriverOption<>(DefaultDriverOption.CONNECTION_MAX_REQUESTS, GenericType.INTEGER);
The maximum number of "orphaned" requests before a connection gets closed automatically. /** The maximum number of "orphaned" requests before a connection gets closed automatically. */
public static final TypedDriverOption<Integer> CONNECTION_MAX_ORPHAN_REQUESTS =
new TypedDriverOption<>(
DefaultDriverOption.CONNECTION_MAX_ORPHAN_REQUESTS, GenericType.INTEGER);
Whether to log non-fatal errors when the driver tries to open a new connection. /** Whether to log non-fatal errors when the driver tries to open a new connection. */
public static final TypedDriverOption<Boolean> CONNECTION_WARN_INIT_ERROR =
new TypedDriverOption<>(DefaultDriverOption.CONNECTION_WARN_INIT_ERROR, GenericType.BOOLEAN);
The number of connections in the LOCAL pool. /** The number of connections in the LOCAL pool. */
public static final TypedDriverOption<Integer> CONNECTION_POOL_LOCAL_SIZE =
new TypedDriverOption<>(DefaultDriverOption.CONNECTION_POOL_LOCAL_SIZE, GenericType.INTEGER);
The number of connections in the REMOTE pool. /** The number of connections in the REMOTE pool. */
public static final TypedDriverOption<Integer> CONNECTION_POOL_REMOTE_SIZE =
new TypedDriverOption<>(DefaultDriverOption.CONNECTION_POOL_REMOTE_SIZE, GenericType.INTEGER);
Whether to schedule reconnection attempts if all contact points are unreachable on the first
initialization attempt.
/**
* Whether to schedule reconnection attempts if all contact points are unreachable on the first
* initialization attempt.
*/
public static final TypedDriverOption<Boolean> RECONNECT_ON_INIT =
new TypedDriverOption<>(DefaultDriverOption.RECONNECT_ON_INIT, GenericType.BOOLEAN);
The class of the reconnection policy. /** The class of the reconnection policy. */
public static final TypedDriverOption<String> RECONNECTION_POLICY_CLASS =
new TypedDriverOption<>(DefaultDriverOption.RECONNECTION_POLICY_CLASS, GenericType.STRING);
Base delay for computing time between reconnection attempts. /** Base delay for computing time between reconnection attempts. */
public static final TypedDriverOption<Duration> RECONNECTION_BASE_DELAY =
new TypedDriverOption<>(DefaultDriverOption.RECONNECTION_BASE_DELAY, GenericType.DURATION);
Maximum delay between reconnection attempts. /** Maximum delay between reconnection attempts. */
public static final TypedDriverOption<Duration> RECONNECTION_MAX_DELAY =
new TypedDriverOption<>(DefaultDriverOption.RECONNECTION_MAX_DELAY, GenericType.DURATION);
The class of the retry policy. /** The class of the retry policy. */
public static final TypedDriverOption<String> RETRY_POLICY_CLASS =
new TypedDriverOption<>(DefaultDriverOption.RETRY_POLICY_CLASS, GenericType.STRING);
The class of the speculative execution policy. /** The class of the speculative execution policy. */
public static final TypedDriverOption<String> SPECULATIVE_EXECUTION_POLICY_CLASS =
new TypedDriverOption<>(
DefaultDriverOption.SPECULATIVE_EXECUTION_POLICY_CLASS, GenericType.STRING);
The maximum number of executions. /** The maximum number of executions. */
public static final TypedDriverOption<Integer> SPECULATIVE_EXECUTION_MAX =
new TypedDriverOption<>(DefaultDriverOption.SPECULATIVE_EXECUTION_MAX, GenericType.INTEGER);
The delay between each execution. /** The delay between each execution. */
public static final TypedDriverOption<Duration> SPECULATIVE_EXECUTION_DELAY =
new TypedDriverOption<>(
DefaultDriverOption.SPECULATIVE_EXECUTION_DELAY, GenericType.DURATION);
The class of the authentication provider. /** The class of the authentication provider. */
public static final TypedDriverOption<String> AUTH_PROVIDER_CLASS =
new TypedDriverOption<>(DefaultDriverOption.AUTH_PROVIDER_CLASS, GenericType.STRING);
Plain text auth provider username. /** Plain text auth provider username. */
public static final TypedDriverOption<String> AUTH_PROVIDER_USER_NAME =
new TypedDriverOption<>(DefaultDriverOption.AUTH_PROVIDER_USER_NAME, GenericType.STRING);
Plain text auth provider password. /** Plain text auth provider password. */
public static final TypedDriverOption<String> AUTH_PROVIDER_PASSWORD =
new TypedDriverOption<>(DefaultDriverOption.AUTH_PROVIDER_PASSWORD, GenericType.STRING);
The class of the SSL Engine Factory. /** The class of the SSL Engine Factory. */
public static final TypedDriverOption<String> SSL_ENGINE_FACTORY_CLASS =
new TypedDriverOption<>(DefaultDriverOption.SSL_ENGINE_FACTORY_CLASS, GenericType.STRING);
The cipher suites to enable when creating an SSLEngine for a connection. /** The cipher suites to enable when creating an SSLEngine for a connection. */
public static final TypedDriverOption<List<String>> SSL_CIPHER_SUITES =
new TypedDriverOption<>(
DefaultDriverOption.SSL_CIPHER_SUITES, GenericType.listOf(String.class));
Whether or not to require validation that the hostname of the server certificate's common name
matches the hostname of the server being connected to.
/**
* Whether or not to require validation that the hostname of the server certificate's common name
* matches the hostname of the server being connected to.
*/
public static final TypedDriverOption<Boolean> SSL_HOSTNAME_VALIDATION =
new TypedDriverOption<>(DefaultDriverOption.SSL_HOSTNAME_VALIDATION, GenericType.BOOLEAN);
The location of the keystore file. /** The location of the keystore file. */
public static final TypedDriverOption<String> SSL_KEYSTORE_PATH =
new TypedDriverOption<>(DefaultDriverOption.SSL_KEYSTORE_PATH, GenericType.STRING);
The keystore password. /** The keystore password. */
public static final TypedDriverOption<String> SSL_KEYSTORE_PASSWORD =
new TypedDriverOption<>(DefaultDriverOption.SSL_KEYSTORE_PASSWORD, GenericType.STRING);
The location of the truststore file. /** The location of the truststore file. */
public static final TypedDriverOption<String> SSL_TRUSTSTORE_PATH =
new TypedDriverOption<>(DefaultDriverOption.SSL_TRUSTSTORE_PATH, GenericType.STRING);
The truststore password. /** The truststore password. */
public static final TypedDriverOption<String> SSL_TRUSTSTORE_PASSWORD =
new TypedDriverOption<>(DefaultDriverOption.SSL_TRUSTSTORE_PASSWORD, GenericType.STRING);
The class of the generator that assigns a microsecond timestamp to each request. /** The class of the generator that assigns a microsecond timestamp to each request. */
public static final TypedDriverOption<String> TIMESTAMP_GENERATOR_CLASS =
new TypedDriverOption<>(DefaultDriverOption.TIMESTAMP_GENERATOR_CLASS, GenericType.STRING);
Whether to force the driver to use Java's millisecond-precision system clock. /** Whether to force the driver to use Java's millisecond-precision system clock. */
public static final TypedDriverOption<Boolean> TIMESTAMP_GENERATOR_FORCE_JAVA_CLOCK =
new TypedDriverOption<>(
DefaultDriverOption.TIMESTAMP_GENERATOR_FORCE_JAVA_CLOCK, GenericType.BOOLEAN);
How far in the future timestamps are allowed to drift before the warning is logged. /** How far in the future timestamps are allowed to drift before the warning is logged. */
public static final TypedDriverOption<Duration> TIMESTAMP_GENERATOR_DRIFT_WARNING_THRESHOLD =
new TypedDriverOption<>(
DefaultDriverOption.TIMESTAMP_GENERATOR_DRIFT_WARNING_THRESHOLD, GenericType.DURATION);
How often the warning will be logged if timestamps keep drifting above the threshold. /** How often the warning will be logged if timestamps keep drifting above the threshold. */
public static final TypedDriverOption<Duration> TIMESTAMP_GENERATOR_DRIFT_WARNING_INTERVAL =
new TypedDriverOption<>(
DefaultDriverOption.TIMESTAMP_GENERATOR_DRIFT_WARNING_INTERVAL, GenericType.DURATION);
The class of a session-wide component that tracks the outcome of requests. /** The class of a session-wide component that tracks the outcome of requests. */
public static final TypedDriverOption<String> REQUEST_TRACKER_CLASS =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_TRACKER_CLASS, GenericType.STRING);
Whether to log successful requests. /** Whether to log successful requests. */
public static final TypedDriverOption<Boolean> REQUEST_LOGGER_SUCCESS_ENABLED =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_LOGGER_SUCCESS_ENABLED, GenericType.BOOLEAN);
The threshold to classify a successful request as "slow". /** The threshold to classify a successful request as "slow". */
public static final TypedDriverOption<Duration> REQUEST_LOGGER_SLOW_THRESHOLD =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_LOGGER_SLOW_THRESHOLD, GenericType.DURATION);
Whether to log slow requests. /** Whether to log slow requests. */
public static final TypedDriverOption<Boolean> REQUEST_LOGGER_SLOW_ENABLED =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_LOGGER_SLOW_ENABLED, GenericType.BOOLEAN);
Whether to log failed requests. /** Whether to log failed requests. */
public static final TypedDriverOption<Boolean> REQUEST_LOGGER_ERROR_ENABLED =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_LOGGER_ERROR_ENABLED, GenericType.BOOLEAN);
The maximum length of the query string in the log message. /** The maximum length of the query string in the log message. */
public static final TypedDriverOption<Integer> REQUEST_LOGGER_MAX_QUERY_LENGTH =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_LOGGER_MAX_QUERY_LENGTH, GenericType.INTEGER);
Whether to log bound values in addition to the query string. /** Whether to log bound values in addition to the query string. */
public static final TypedDriverOption<Boolean> REQUEST_LOGGER_VALUES =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_LOGGER_VALUES, GenericType.BOOLEAN);
The maximum length for bound values in the log message. /** The maximum length for bound values in the log message. */
public static final TypedDriverOption<Integer> REQUEST_LOGGER_MAX_VALUE_LENGTH =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_LOGGER_MAX_VALUE_LENGTH, GenericType.INTEGER);
The maximum number of bound values to log. /** The maximum number of bound values to log. */
public static final TypedDriverOption<Integer> REQUEST_LOGGER_MAX_VALUES =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_LOGGER_MAX_VALUES, GenericType.INTEGER);
Whether to log stack traces for failed queries. /** Whether to log stack traces for failed queries. */
public static final TypedDriverOption<Boolean> REQUEST_LOGGER_STACK_TRACES =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_LOGGER_STACK_TRACES, GenericType.BOOLEAN);
The class of a session-wide component that controls the rate at which requests are executed.
/**
* The class of a session-wide component that controls the rate at which requests are executed.
*/
public static final TypedDriverOption<String> REQUEST_THROTTLER_CLASS =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_THROTTLER_CLASS, GenericType.STRING);
The maximum number of requests that are allowed to execute in parallel. /** The maximum number of requests that are allowed to execute in parallel. */
public static final TypedDriverOption<Integer> REQUEST_THROTTLER_MAX_CONCURRENT_REQUESTS =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_THROTTLER_MAX_CONCURRENT_REQUESTS, GenericType.INTEGER);
The maximum allowed request rate. /** The maximum allowed request rate. */
public static final TypedDriverOption<Integer> REQUEST_THROTTLER_MAX_REQUESTS_PER_SECOND =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_THROTTLER_MAX_REQUESTS_PER_SECOND, GenericType.INTEGER);
The maximum number of requests that can be enqueued when the throttling threshold is exceeded.
/**
* The maximum number of requests that can be enqueued when the throttling threshold is exceeded.
*/
public static final TypedDriverOption<Integer> REQUEST_THROTTLER_MAX_QUEUE_SIZE =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_THROTTLER_MAX_QUEUE_SIZE, GenericType.INTEGER);
How often the throttler attempts to dequeue requests. /** How often the throttler attempts to dequeue requests. */
public static final TypedDriverOption<Duration> REQUEST_THROTTLER_DRAIN_INTERVAL =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_THROTTLER_DRAIN_INTERVAL, GenericType.DURATION);
The class of a session-wide component that listens for node state changes. /** The class of a session-wide component that listens for node state changes. */
public static final TypedDriverOption<String> METADATA_NODE_STATE_LISTENER_CLASS =
new TypedDriverOption<>(
DefaultDriverOption.METADATA_NODE_STATE_LISTENER_CLASS, GenericType.STRING);
The class of a session-wide component that listens for schema changes. /** The class of a session-wide component that listens for schema changes. */
public static final TypedDriverOption<String> METADATA_SCHEMA_CHANGE_LISTENER_CLASS =
new TypedDriverOption<>(
DefaultDriverOption.METADATA_SCHEMA_CHANGE_LISTENER_CLASS, GenericType.STRING);
The class of the address translator to use to convert the addresses sent by Cassandra nodes
into ones that the driver uses to connect.
/**
* The class of the address translator to use to convert the addresses sent by Cassandra nodes
* into ones that the driver uses to connect.
*/
public static final TypedDriverOption<String> ADDRESS_TRANSLATOR_CLASS =
new TypedDriverOption<>(DefaultDriverOption.ADDRESS_TRANSLATOR_CLASS, GenericType.STRING);
The native protocol version to use. /** The native protocol version to use. */
public static final TypedDriverOption<String> PROTOCOL_VERSION =
new TypedDriverOption<>(DefaultDriverOption.PROTOCOL_VERSION, GenericType.STRING);
The name of the algorithm used to compress protocol frames. /** The name of the algorithm used to compress protocol frames. */
public static final TypedDriverOption<String> PROTOCOL_COMPRESSION =
new TypedDriverOption<>(DefaultDriverOption.PROTOCOL_COMPRESSION, GenericType.STRING);
The maximum length, in bytes, of the frames supported by the driver. /** The maximum length, in bytes, of the frames supported by the driver. */
public static final TypedDriverOption<Long> PROTOCOL_MAX_FRAME_LENGTH =
new TypedDriverOption<>(DefaultDriverOption.PROTOCOL_MAX_FRAME_LENGTH, GenericType.LONG);
Whether a warning is logged when a request (such as a CQL `USE ...`) changes the active
keyspace.
/**
* Whether a warning is logged when a request (such as a CQL `USE ...`) changes the active
* keyspace.
*/
public static final TypedDriverOption<Boolean> REQUEST_WARN_IF_SET_KEYSPACE =
new TypedDriverOption<>(
DefaultDriverOption.REQUEST_WARN_IF_SET_KEYSPACE, GenericType.BOOLEAN);
How many times the driver will attempt to fetch the query trace if it is not ready yet. /** How many times the driver will attempt to fetch the query trace if it is not ready yet. */
public static final TypedDriverOption<Integer> REQUEST_TRACE_ATTEMPTS =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_TRACE_ATTEMPTS, GenericType.INTEGER);
The interval between each attempt. /** The interval between each attempt. */
public static final TypedDriverOption<Duration> REQUEST_TRACE_INTERVAL =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_TRACE_INTERVAL, GenericType.DURATION);
The consistency level to use for trace queries. /** The consistency level to use for trace queries. */
public static final TypedDriverOption<String> REQUEST_TRACE_CONSISTENCY =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_TRACE_CONSISTENCY, GenericType.STRING);
List of enabled session-level metrics. /** List of enabled session-level metrics. */
public static final TypedDriverOption<List<String>> METRICS_SESSION_ENABLED =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_SESSION_ENABLED, GenericType.listOf(String.class));
List of enabled node-level metrics. /** List of enabled node-level metrics. */
public static final TypedDriverOption<List<String>> METRICS_NODE_ENABLED =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_NODE_ENABLED, GenericType.listOf(String.class));
The largest latency that we expect to record for requests. /** The largest latency that we expect to record for requests. */
public static final TypedDriverOption<Duration> METRICS_SESSION_CQL_REQUESTS_HIGHEST =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_SESSION_CQL_REQUESTS_HIGHEST, GenericType.DURATION);
The number of significant decimal digits to which internal structures will maintain for
requests.
/**
* The number of significant decimal digits to which internal structures will maintain for
* requests.
*/
public static final TypedDriverOption<Integer> METRICS_SESSION_CQL_REQUESTS_DIGITS =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_SESSION_CQL_REQUESTS_DIGITS, GenericType.INTEGER);
The interval at which percentile data is refreshed for requests. /** The interval at which percentile data is refreshed for requests. */
public static final TypedDriverOption<Duration> METRICS_SESSION_CQL_REQUESTS_INTERVAL =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_SESSION_CQL_REQUESTS_INTERVAL, GenericType.DURATION);
The largest latency that we expect to record for throttling. /** The largest latency that we expect to record for throttling. */
public static final TypedDriverOption<Duration> METRICS_SESSION_THROTTLING_HIGHEST =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_SESSION_THROTTLING_HIGHEST, GenericType.DURATION);
The number of significant decimal digits to which internal structures will maintain for
throttling.
/**
* The number of significant decimal digits to which internal structures will maintain for
* throttling.
*/
public static final TypedDriverOption<Integer> METRICS_SESSION_THROTTLING_DIGITS =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_SESSION_THROTTLING_DIGITS, GenericType.INTEGER);
The interval at which percentile data is refreshed for throttling. /** The interval at which percentile data is refreshed for throttling. */
public static final TypedDriverOption<Duration> METRICS_SESSION_THROTTLING_INTERVAL =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_SESSION_THROTTLING_INTERVAL, GenericType.DURATION);
The largest latency that we expect to record for requests. /** The largest latency that we expect to record for requests. */
public static final TypedDriverOption<Duration> METRICS_NODE_CQL_MESSAGES_HIGHEST =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_NODE_CQL_MESSAGES_HIGHEST, GenericType.DURATION);
The number of significant decimal digits to which internal structures will maintain for
requests.
/**
* The number of significant decimal digits to which internal structures will maintain for
* requests.
*/
public static final TypedDriverOption<Integer> METRICS_NODE_CQL_MESSAGES_DIGITS =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_NODE_CQL_MESSAGES_DIGITS, GenericType.INTEGER);
The interval at which percentile data is refreshed for requests. /** The interval at which percentile data is refreshed for requests. */
public static final TypedDriverOption<Duration> METRICS_NODE_CQL_MESSAGES_INTERVAL =
new TypedDriverOption<>(
DefaultDriverOption.METRICS_NODE_CQL_MESSAGES_INTERVAL, GenericType.DURATION);
Whether or not to disable the Nagle algorithm. /** Whether or not to disable the Nagle algorithm. */
public static final TypedDriverOption<Boolean> SOCKET_TCP_NODELAY =
new TypedDriverOption<>(DefaultDriverOption.SOCKET_TCP_NODELAY, GenericType.BOOLEAN);
Whether or not to enable TCP keep-alive probes. /** Whether or not to enable TCP keep-alive probes. */
public static final TypedDriverOption<Boolean> SOCKET_KEEP_ALIVE =
new TypedDriverOption<>(DefaultDriverOption.SOCKET_KEEP_ALIVE, GenericType.BOOLEAN);
Whether or not to allow address reuse. /** Whether or not to allow address reuse. */
public static final TypedDriverOption<Boolean> SOCKET_REUSE_ADDRESS =
new TypedDriverOption<>(DefaultDriverOption.SOCKET_REUSE_ADDRESS, GenericType.BOOLEAN);
Sets the linger interval. /** Sets the linger interval. */
public static final TypedDriverOption<Integer> SOCKET_LINGER_INTERVAL =
new TypedDriverOption<>(DefaultDriverOption.SOCKET_LINGER_INTERVAL, GenericType.INTEGER);
Sets a hint to the size of the underlying buffers for incoming network I/O. /** Sets a hint to the size of the underlying buffers for incoming network I/O. */
public static final TypedDriverOption<Integer> SOCKET_RECEIVE_BUFFER_SIZE =
new TypedDriverOption<>(DefaultDriverOption.SOCKET_RECEIVE_BUFFER_SIZE, GenericType.INTEGER);
Sets a hint to the size of the underlying buffers for outgoing network I/O. /** Sets a hint to the size of the underlying buffers for outgoing network I/O. */
public static final TypedDriverOption<Integer> SOCKET_SEND_BUFFER_SIZE =
new TypedDriverOption<>(DefaultDriverOption.SOCKET_SEND_BUFFER_SIZE, GenericType.INTEGER);
The connection heartbeat interval. /** The connection heartbeat interval. */
public static final TypedDriverOption<Duration> HEARTBEAT_INTERVAL =
new TypedDriverOption<>(DefaultDriverOption.HEARTBEAT_INTERVAL, GenericType.DURATION);
How long the driver waits for the response to a heartbeat. /** How long the driver waits for the response to a heartbeat. */
public static final TypedDriverOption<Duration> HEARTBEAT_TIMEOUT =
new TypedDriverOption<>(DefaultDriverOption.HEARTBEAT_TIMEOUT, GenericType.DURATION);
How long the driver waits to propagate a Topology event. /** How long the driver waits to propagate a Topology event. */
public static final TypedDriverOption<Duration> METADATA_TOPOLOGY_WINDOW =
new TypedDriverOption<>(DefaultDriverOption.METADATA_TOPOLOGY_WINDOW, GenericType.DURATION);
The maximum number of events that can accumulate. /** The maximum number of events that can accumulate. */
public static final TypedDriverOption<Integer> METADATA_TOPOLOGY_MAX_EVENTS =
new TypedDriverOption<>(
DefaultDriverOption.METADATA_TOPOLOGY_MAX_EVENTS, GenericType.INTEGER);
Whether schema metadata is enabled. /** Whether schema metadata is enabled. */
public static final TypedDriverOption<Boolean> METADATA_SCHEMA_ENABLED =
new TypedDriverOption<>(DefaultDriverOption.METADATA_SCHEMA_ENABLED, GenericType.BOOLEAN);
The timeout for the requests to the schema tables. /** The timeout for the requests to the schema tables. */
public static final TypedDriverOption<Duration> METADATA_SCHEMA_REQUEST_TIMEOUT =
new TypedDriverOption<>(
DefaultDriverOption.METADATA_SCHEMA_REQUEST_TIMEOUT, GenericType.DURATION);
The page size for the requests to the schema tables. /** The page size for the requests to the schema tables. */
public static final TypedDriverOption<Integer> METADATA_SCHEMA_REQUEST_PAGE_SIZE =
new TypedDriverOption<>(
DefaultDriverOption.METADATA_SCHEMA_REQUEST_PAGE_SIZE, GenericType.INTEGER);
The list of keyspaces for which schema and token metadata should be maintained. /** The list of keyspaces for which schema and token metadata should be maintained. */
public static final TypedDriverOption<List<String>> METADATA_SCHEMA_REFRESHED_KEYSPACES =
new TypedDriverOption<>(
DefaultDriverOption.METADATA_SCHEMA_REFRESHED_KEYSPACES,
GenericType.listOf(String.class));
How long the driver waits to apply a refresh. /** How long the driver waits to apply a refresh. */
public static final TypedDriverOption<Duration> METADATA_SCHEMA_WINDOW =
new TypedDriverOption<>(DefaultDriverOption.METADATA_SCHEMA_WINDOW, GenericType.DURATION);
The maximum number of refreshes that can accumulate. /** The maximum number of refreshes that can accumulate. */
public static final TypedDriverOption<Integer> METADATA_SCHEMA_MAX_EVENTS =
new TypedDriverOption<>(DefaultDriverOption.METADATA_SCHEMA_MAX_EVENTS, GenericType.INTEGER);
Whether token metadata is enabled. /** Whether token metadata is enabled. */
public static final TypedDriverOption<Boolean> METADATA_TOKEN_MAP_ENABLED =
new TypedDriverOption<>(DefaultDriverOption.METADATA_TOKEN_MAP_ENABLED, GenericType.BOOLEAN);
How long the driver waits for responses to control queries. /** How long the driver waits for responses to control queries. */
public static final TypedDriverOption<Duration> CONTROL_CONNECTION_TIMEOUT =
new TypedDriverOption<>(DefaultDriverOption.CONTROL_CONNECTION_TIMEOUT, GenericType.DURATION);
The interval between each schema agreement check attempt. /** The interval between each schema agreement check attempt. */
public static final TypedDriverOption<Duration> CONTROL_CONNECTION_AGREEMENT_INTERVAL =
new TypedDriverOption<>(
DefaultDriverOption.CONTROL_CONNECTION_AGREEMENT_INTERVAL, GenericType.DURATION);
The timeout after which schema agreement fails. /** The timeout after which schema agreement fails. */
public static final TypedDriverOption<Duration> CONTROL_CONNECTION_AGREEMENT_TIMEOUT =
new TypedDriverOption<>(
DefaultDriverOption.CONTROL_CONNECTION_AGREEMENT_TIMEOUT, GenericType.DURATION);
Whether to log a warning if schema agreement fails. /** Whether to log a warning if schema agreement fails. */
public static final TypedDriverOption<Boolean> CONTROL_CONNECTION_AGREEMENT_WARN =
new TypedDriverOption<>(
DefaultDriverOption.CONTROL_CONNECTION_AGREEMENT_WARN, GenericType.BOOLEAN);
Whether `Session.prepare` calls should be sent to all nodes in the cluster. /** Whether `Session.prepare` calls should be sent to all nodes in the cluster. */
public static final TypedDriverOption<Boolean> PREPARE_ON_ALL_NODES =
new TypedDriverOption<>(DefaultDriverOption.PREPARE_ON_ALL_NODES, GenericType.BOOLEAN);
Whether the driver tries to prepare on new nodes at all. /** Whether the driver tries to prepare on new nodes at all. */
public static final TypedDriverOption<Boolean> REPREPARE_ENABLED =
new TypedDriverOption<>(DefaultDriverOption.REPREPARE_ENABLED, GenericType.BOOLEAN);
Whether to check `system.prepared_statements` on the target node before repreparing. /** Whether to check `system.prepared_statements` on the target node before repreparing. */
public static final TypedDriverOption<Boolean> REPREPARE_CHECK_SYSTEM_TABLE =
new TypedDriverOption<>(
DefaultDriverOption.REPREPARE_CHECK_SYSTEM_TABLE, GenericType.BOOLEAN);
The maximum number of statements that should be reprepared. /** The maximum number of statements that should be reprepared. */
public static final TypedDriverOption<Integer> REPREPARE_MAX_STATEMENTS =
new TypedDriverOption<>(DefaultDriverOption.REPREPARE_MAX_STATEMENTS, GenericType.INTEGER);
The maximum number of concurrent requests when repreparing. /** The maximum number of concurrent requests when repreparing. */
public static final TypedDriverOption<Integer> REPREPARE_MAX_PARALLELISM =
new TypedDriverOption<>(DefaultDriverOption.REPREPARE_MAX_PARALLELISM, GenericType.INTEGER);
The request timeout when repreparing. /** The request timeout when repreparing. */
public static final TypedDriverOption<Duration> REPREPARE_TIMEOUT =
new TypedDriverOption<>(DefaultDriverOption.REPREPARE_TIMEOUT, GenericType.DURATION);
The number of threads in the I/O group. /** The number of threads in the I/O group. */
public static final TypedDriverOption<Integer> NETTY_IO_SIZE =
new TypedDriverOption<>(DefaultDriverOption.NETTY_IO_SIZE, GenericType.INTEGER);
Quiet period for I/O group shutdown. /** Quiet period for I/O group shutdown. */
public static final TypedDriverOption<Integer> NETTY_IO_SHUTDOWN_QUIET_PERIOD =
new TypedDriverOption<>(
DefaultDriverOption.NETTY_IO_SHUTDOWN_QUIET_PERIOD, GenericType.INTEGER);
Max time to wait for I/O group shutdown. /** Max time to wait for I/O group shutdown. */
public static final TypedDriverOption<Integer> NETTY_IO_SHUTDOWN_TIMEOUT =
new TypedDriverOption<>(DefaultDriverOption.NETTY_IO_SHUTDOWN_TIMEOUT, GenericType.INTEGER);
Units for I/O group quiet period and timeout. /** Units for I/O group quiet period and timeout. */
public static final TypedDriverOption<String> NETTY_IO_SHUTDOWN_UNIT =
new TypedDriverOption<>(DefaultDriverOption.NETTY_IO_SHUTDOWN_UNIT, GenericType.STRING);
The number of threads in the Admin group. /** The number of threads in the Admin group. */
public static final TypedDriverOption<Integer> NETTY_ADMIN_SIZE =
new TypedDriverOption<>(DefaultDriverOption.NETTY_ADMIN_SIZE, GenericType.INTEGER);
Quiet period for admin group shutdown. /** Quiet period for admin group shutdown. */
public static final TypedDriverOption<Integer> NETTY_ADMIN_SHUTDOWN_QUIET_PERIOD =
new TypedDriverOption<>(
DefaultDriverOption.NETTY_ADMIN_SHUTDOWN_QUIET_PERIOD, GenericType.INTEGER);
Max time to wait for admin group shutdown. /** Max time to wait for admin group shutdown. */
public static final TypedDriverOption<Integer> NETTY_ADMIN_SHUTDOWN_TIMEOUT =
new TypedDriverOption<>(
DefaultDriverOption.NETTY_ADMIN_SHUTDOWN_TIMEOUT, GenericType.INTEGER);
Units for admin group quiet period and timeout. /** Units for admin group quiet period and timeout. */
public static final TypedDriverOption<String> NETTY_ADMIN_SHUTDOWN_UNIT =
new TypedDriverOption<>(DefaultDriverOption.NETTY_ADMIN_SHUTDOWN_UNIT, GenericType.STRING);
Deprecated: This option was removed in version 4.6.1.
/** @deprecated This option was removed in version 4.6.1. */
@Deprecated
public static final TypedDriverOption<Integer> COALESCER_MAX_RUNS =
new TypedDriverOption<>(DefaultDriverOption.COALESCER_MAX_RUNS, GenericType.INTEGER);
The coalescer reschedule interval. /** The coalescer reschedule interval. */
public static final TypedDriverOption<Duration> COALESCER_INTERVAL =
new TypedDriverOption<>(DefaultDriverOption.COALESCER_INTERVAL, GenericType.DURATION);
Whether to resolve the addresses passed to `basic.contact-points`. /** Whether to resolve the addresses passed to `basic.contact-points`. */
public static final TypedDriverOption<Boolean> RESOLVE_CONTACT_POINTS =
new TypedDriverOption<>(DefaultDriverOption.RESOLVE_CONTACT_POINTS, GenericType.BOOLEAN);
This is how frequent the timer should wake up to check for timed-out tasks or speculative
executions.
/**
* This is how frequent the timer should wake up to check for timed-out tasks or speculative
* executions.
*/
public static final TypedDriverOption<Duration> NETTY_TIMER_TICK_DURATION =
new TypedDriverOption<>(DefaultDriverOption.NETTY_TIMER_TICK_DURATION, GenericType.DURATION);
Number of ticks in the Timer wheel. /** Number of ticks in the Timer wheel. */
public static final TypedDriverOption<Integer> NETTY_TIMER_TICKS_PER_WHEEL =
new TypedDriverOption<>(DefaultDriverOption.NETTY_TIMER_TICKS_PER_WHEEL, GenericType.INTEGER);
Whether logging of server warnings generated during query execution should be disabled by the
driver.
/**
* Whether logging of server warnings generated during query execution should be disabled by the
* driver.
*/
public static final TypedDriverOption<Boolean> REQUEST_LOG_WARNINGS =
new TypedDriverOption<>(DefaultDriverOption.REQUEST_LOG_WARNINGS, GenericType.BOOLEAN);
Whether the threads created by the driver should be daemon threads. /** Whether the threads created by the driver should be daemon threads. */
public static final TypedDriverOption<Boolean> NETTY_DAEMON =
new TypedDriverOption<>(DefaultDriverOption.NETTY_DAEMON, GenericType.BOOLEAN);
The location of the cloud secure bundle used to connect to Datastax Apache Cassandra as a
service.
/**
* The location of the cloud secure bundle used to connect to Datastax Apache Cassandra as a
* service.
*/
public static final TypedDriverOption<String> CLOUD_SECURE_CONNECT_BUNDLE =
new TypedDriverOption<>(DefaultDriverOption.CLOUD_SECURE_CONNECT_BUNDLE, GenericType.STRING);
Whether the slow replica avoidance should be enabled in the default LBP. /** Whether the slow replica avoidance should be enabled in the default LBP. */
public static final TypedDriverOption<Boolean> LOAD_BALANCING_POLICY_SLOW_AVOIDANCE =
new TypedDriverOption<>(
DefaultDriverOption.LOAD_BALANCING_POLICY_SLOW_AVOIDANCE, GenericType.BOOLEAN);
The timeout to use when establishing driver connections. /** The timeout to use when establishing driver connections. */
public static final TypedDriverOption<Duration> CONNECTION_CONNECT_TIMEOUT =
new TypedDriverOption<>(DefaultDriverOption.CONNECTION_CONNECT_TIMEOUT, GenericType.DURATION);
The maximum number of live sessions that are allowed to coexist in a given VM. /** The maximum number of live sessions that are allowed to coexist in a given VM. */
public static final TypedDriverOption<Integer> SESSION_LEAK_THRESHOLD =
new TypedDriverOption<>(DefaultDriverOption.SESSION_LEAK_THRESHOLD, GenericType.INTEGER);
The name of the application using the session. /** The name of the application using the session. */
public static final TypedDriverOption<String> APPLICATION_NAME =
new TypedDriverOption<>(DseDriverOption.APPLICATION_NAME, GenericType.STRING);
The version of the application using the session. /** The version of the application using the session. */
public static final TypedDriverOption<String> APPLICATION_VERSION =
new TypedDriverOption<>(DseDriverOption.APPLICATION_VERSION, GenericType.STRING);
Proxy authentication for GSSAPI authentication: allows to login as another user or role. /** Proxy authentication for GSSAPI authentication: allows to login as another user or role. */
public static final TypedDriverOption<String> AUTH_PROVIDER_AUTHORIZATION_ID =
new TypedDriverOption<>(DseDriverOption.AUTH_PROVIDER_AUTHORIZATION_ID, GenericType.STRING);
Service name for GSSAPI authentication. /** Service name for GSSAPI authentication. */
public static final TypedDriverOption<String> AUTH_PROVIDER_SERVICE =
new TypedDriverOption<>(DseDriverOption.AUTH_PROVIDER_SERVICE, GenericType.STRING);
Login configuration for GSSAPI authentication. /** Login configuration for GSSAPI authentication. */
public static final TypedDriverOption<String> AUTH_PROVIDER_LOGIN_CONFIGURATION =
new TypedDriverOption<>(
DseDriverOption.AUTH_PROVIDER_LOGIN_CONFIGURATION, GenericType.STRING);
Internal SASL properties, if any, such as QOP, for GSSAPI authentication. /** Internal SASL properties, if any, such as QOP, for GSSAPI authentication. */
public static final TypedDriverOption<Map<String, String>> AUTH_PROVIDER_SASL_PROPERTIES =
new TypedDriverOption<>(
DseDriverOption.AUTH_PROVIDER_SASL_PROPERTIES,
GenericType.mapOf(GenericType.STRING, GenericType.STRING));
The page size for continuous paging. /** The page size for continuous paging. */
public static final TypedDriverOption<Integer> CONTINUOUS_PAGING_PAGE_SIZE =
new TypedDriverOption<>(DseDriverOption.CONTINUOUS_PAGING_PAGE_SIZE, GenericType.INTEGER);
Whether TypedDriverOption<ValueT>.CONTINUOUS_PAGING_PAGE_SIZE
should be interpreted in number of rows or bytes. /**
* Whether {@link #CONTINUOUS_PAGING_PAGE_SIZE} should be interpreted in number of rows or bytes.
*/
public static final TypedDriverOption<Boolean> CONTINUOUS_PAGING_PAGE_SIZE_BYTES =
new TypedDriverOption<>(
DseDriverOption.CONTINUOUS_PAGING_PAGE_SIZE_BYTES, GenericType.BOOLEAN);
The maximum number of continuous pages to return. /** The maximum number of continuous pages to return. */
public static final TypedDriverOption<Integer> CONTINUOUS_PAGING_MAX_PAGES =
new TypedDriverOption<>(DseDriverOption.CONTINUOUS_PAGING_MAX_PAGES, GenericType.INTEGER);
The maximum number of continuous pages per second. /** The maximum number of continuous pages per second. */
public static final TypedDriverOption<Integer> CONTINUOUS_PAGING_MAX_PAGES_PER_SECOND =
new TypedDriverOption<>(
DseDriverOption.CONTINUOUS_PAGING_MAX_PAGES_PER_SECOND, GenericType.INTEGER);
The maximum number of continuous pages that can be stored in the local queue. /** The maximum number of continuous pages that can be stored in the local queue. */
public static final TypedDriverOption<Integer> CONTINUOUS_PAGING_MAX_ENQUEUED_PAGES =
new TypedDriverOption<>(
DseDriverOption.CONTINUOUS_PAGING_MAX_ENQUEUED_PAGES, GenericType.INTEGER);
How long to wait for the coordinator to send the first continuous page. /** How long to wait for the coordinator to send the first continuous page. */
public static final TypedDriverOption<Duration> CONTINUOUS_PAGING_TIMEOUT_FIRST_PAGE =
new TypedDriverOption<>(
DseDriverOption.CONTINUOUS_PAGING_TIMEOUT_FIRST_PAGE, GenericType.DURATION);
How long to wait for the coordinator to send subsequent continuous pages. /** How long to wait for the coordinator to send subsequent continuous pages. */
public static final TypedDriverOption<Duration> CONTINUOUS_PAGING_TIMEOUT_OTHER_PAGES =
new TypedDriverOption<>(
DseDriverOption.CONTINUOUS_PAGING_TIMEOUT_OTHER_PAGES, GenericType.DURATION);
The largest latency that we expect to record for continuous requests. /** The largest latency that we expect to record for continuous requests. */
public static final TypedDriverOption<Duration>
CONTINUOUS_PAGING_METRICS_SESSION_CQL_REQUESTS_HIGHEST =
new TypedDriverOption<>(
DseDriverOption.CONTINUOUS_PAGING_METRICS_SESSION_CQL_REQUESTS_HIGHEST,
GenericType.DURATION);
The number of significant decimal digits to which internal structures will maintain for
continuous requests.
/**
* The number of significant decimal digits to which internal structures will maintain for
* continuous requests.
*/
public static final TypedDriverOption<Integer>
CONTINUOUS_PAGING_METRICS_SESSION_CQL_REQUESTS_DIGITS =
new TypedDriverOption<>(
DseDriverOption.CONTINUOUS_PAGING_METRICS_SESSION_CQL_REQUESTS_DIGITS,
GenericType.INTEGER);
The interval at which percentile data is refreshed for continuous requests. /** The interval at which percentile data is refreshed for continuous requests. */
public static final TypedDriverOption<Duration>
CONTINUOUS_PAGING_METRICS_SESSION_CQL_REQUESTS_INTERVAL =
new TypedDriverOption<>(
DseDriverOption.CONTINUOUS_PAGING_METRICS_SESSION_CQL_REQUESTS_INTERVAL,
GenericType.DURATION);
The read consistency level to use for graph statements. /** The read consistency level to use for graph statements. */
public static final TypedDriverOption<String> GRAPH_READ_CONSISTENCY_LEVEL =
new TypedDriverOption<>(DseDriverOption.GRAPH_READ_CONSISTENCY_LEVEL, GenericType.STRING);
The write consistency level to use for graph statements. /** The write consistency level to use for graph statements. */
public static final TypedDriverOption<String> GRAPH_WRITE_CONSISTENCY_LEVEL =
new TypedDriverOption<>(DseDriverOption.GRAPH_WRITE_CONSISTENCY_LEVEL, GenericType.STRING);
The traversal source to use for graph statements. /** The traversal source to use for graph statements. */
public static final TypedDriverOption<String> GRAPH_TRAVERSAL_SOURCE =
new TypedDriverOption<>(DseDriverOption.GRAPH_TRAVERSAL_SOURCE, GenericType.STRING);
The sub-protocol the driver will use to communicate with DSE Graph, on top of the Cassandra
native protocol.
/**
* The sub-protocol the driver will use to communicate with DSE Graph, on top of the Cassandra
* native protocol.
*/
public static final TypedDriverOption<String> GRAPH_SUB_PROTOCOL =
new TypedDriverOption<>(DseDriverOption.GRAPH_SUB_PROTOCOL, GenericType.STRING);
Whether a script statement represents a system query. /** Whether a script statement represents a system query. */
public static final TypedDriverOption<Boolean> GRAPH_IS_SYSTEM_QUERY =
new TypedDriverOption<>(DseDriverOption.GRAPH_IS_SYSTEM_QUERY, GenericType.BOOLEAN);
The name of the graph targeted by graph statements. /** The name of the graph targeted by graph statements. */
public static final TypedDriverOption<String> GRAPH_NAME =
new TypedDriverOption<>(DseDriverOption.GRAPH_NAME, GenericType.STRING);
How long the driver waits for a graph request to complete. /** How long the driver waits for a graph request to complete. */
public static final TypedDriverOption<Duration> GRAPH_TIMEOUT =
new TypedDriverOption<>(DseDriverOption.GRAPH_TIMEOUT, GenericType.DURATION);
Whether to send events for Insights monitoring. /** Whether to send events for Insights monitoring. */
public static final TypedDriverOption<Boolean> MONITOR_REPORTING_ENABLED =
new TypedDriverOption<>(DseDriverOption.MONITOR_REPORTING_ENABLED, GenericType.BOOLEAN);
Whether to enable paging for Graph queries. /** Whether to enable paging for Graph queries. */
public static final TypedDriverOption<String> GRAPH_PAGING_ENABLED =
new TypedDriverOption<>(DseDriverOption.GRAPH_PAGING_ENABLED, GenericType.STRING);
The page size for Graph continuous paging. /** The page size for Graph continuous paging. */
public static final TypedDriverOption<Integer> GRAPH_CONTINUOUS_PAGING_PAGE_SIZE =
new TypedDriverOption<>(
DseDriverOption.GRAPH_CONTINUOUS_PAGING_PAGE_SIZE, GenericType.INTEGER);
The maximum number of Graph continuous pages to return. /** The maximum number of Graph continuous pages to return. */
public static final TypedDriverOption<Integer> GRAPH_CONTINUOUS_PAGING_MAX_PAGES =
new TypedDriverOption<>(
DseDriverOption.GRAPH_CONTINUOUS_PAGING_MAX_PAGES, GenericType.INTEGER);
The maximum number of Graph continuous pages per second. /** The maximum number of Graph continuous pages per second. */
public static final TypedDriverOption<Integer> GRAPH_CONTINUOUS_PAGING_MAX_PAGES_PER_SECOND =
new TypedDriverOption<>(
DseDriverOption.GRAPH_CONTINUOUS_PAGING_MAX_PAGES_PER_SECOND, GenericType.INTEGER);
The maximum number of Graph continuous pages that can be stored in the local queue. /** The maximum number of Graph continuous pages that can be stored in the local queue. */
public static final TypedDriverOption<Integer> GRAPH_CONTINUOUS_PAGING_MAX_ENQUEUED_PAGES =
new TypedDriverOption<>(
DseDriverOption.GRAPH_CONTINUOUS_PAGING_MAX_ENQUEUED_PAGES, GenericType.INTEGER);
The largest latency that we expect to record for graph requests. /** The largest latency that we expect to record for graph requests. */
public static final TypedDriverOption<Duration> METRICS_SESSION_GRAPH_REQUESTS_HIGHEST =
new TypedDriverOption<>(
DseDriverOption.METRICS_SESSION_GRAPH_REQUESTS_HIGHEST, GenericType.DURATION);
The number of significant decimal digits to which internal structures will maintain for graph
requests.
/**
* The number of significant decimal digits to which internal structures will maintain for graph
* requests.
*/
public static final TypedDriverOption<Integer> METRICS_SESSION_GRAPH_REQUESTS_DIGITS =
new TypedDriverOption<>(
DseDriverOption.METRICS_SESSION_GRAPH_REQUESTS_DIGITS, GenericType.INTEGER);
The interval at which percentile data is refreshed for graph requests. /** The interval at which percentile data is refreshed for graph requests. */
public static final TypedDriverOption<Duration> METRICS_SESSION_GRAPH_REQUESTS_INTERVAL =
new TypedDriverOption<>(
DseDriverOption.METRICS_SESSION_GRAPH_REQUESTS_INTERVAL, GenericType.DURATION);
The largest latency that we expect to record for graph requests. /** The largest latency that we expect to record for graph requests. */
public static final TypedDriverOption<Duration> METRICS_NODE_GRAPH_MESSAGES_HIGHEST =
new TypedDriverOption<>(
DseDriverOption.METRICS_NODE_GRAPH_MESSAGES_HIGHEST, GenericType.DURATION);
The number of significant decimal digits to which internal structures will maintain for graph
requests.
/**
* The number of significant decimal digits to which internal structures will maintain for graph
* requests.
*/
public static final TypedDriverOption<Integer> METRICS_NODE_GRAPH_MESSAGES_DIGITS =
new TypedDriverOption<>(
DseDriverOption.METRICS_NODE_GRAPH_MESSAGES_DIGITS, GenericType.INTEGER);
The interval at which percentile data is refreshed for graph requests. /** The interval at which percentile data is refreshed for graph requests. */
public static final TypedDriverOption<Duration> METRICS_NODE_GRAPH_MESSAGES_INTERVAL =
new TypedDriverOption<>(
DseDriverOption.METRICS_NODE_GRAPH_MESSAGES_INTERVAL, GenericType.DURATION);
The time after which the node level metrics will be evicted. /** The time after which the node level metrics will be evicted. */
public static final TypedDriverOption<Duration> METRICS_NODE_EXPIRE_AFTER =
new TypedDriverOption<>(DefaultDriverOption.METRICS_NODE_EXPIRE_AFTER, GenericType.DURATION);
The classname of the desired MetricsFactory implementation. /** The classname of the desired MetricsFactory implementation. */
public static final TypedDriverOption<String> METRICS_FACTORY_CLASS =
new TypedDriverOption<>(DefaultDriverOption.METRICS_FACTORY_CLASS, GenericType.STRING);
The maximum number of nodes from remote DCs to include in query plans. /** The maximum number of nodes from remote DCs to include in query plans. */
public static final TypedDriverOption<Integer>
LOAD_BALANCING_DC_FAILOVER_MAX_NODES_PER_REMOTE_DC =
new TypedDriverOption<>(
DefaultDriverOption.LOAD_BALANCING_DC_FAILOVER_MAX_NODES_PER_REMOTE_DC,
GenericType.INTEGER);
Whether to consider nodes from remote DCs if the request's consistency level is local. /** Whether to consider nodes from remote DCs if the request's consistency level is local. */
public static final TypedDriverOption<Boolean>
LOAD_BALANCING_DC_FAILOVER_ALLOW_FOR_LOCAL_CONSISTENCY_LEVELS =
new TypedDriverOption<>(
DefaultDriverOption.LOAD_BALANCING_DC_FAILOVER_ALLOW_FOR_LOCAL_CONSISTENCY_LEVELS,
GenericType.BOOLEAN);
private static Iterable<TypedDriverOption<?>> introspectBuiltInValues() {
try {
ImmutableList.Builder<TypedDriverOption<?>> result = ImmutableList.builder();
for (Field field : TypedDriverOption.class.getFields()) {
if ((field.getModifiers() & PUBLIC_STATIC_FINAL) == PUBLIC_STATIC_FINAL
&& field.getType() == TypedDriverOption.class) {
TypedDriverOption<?> typedOption = (TypedDriverOption<?>) field.get(null);
result.add(typedOption);
}
}
return result.build();
} catch (IllegalAccessException e) {
throw new IllegalStateException("Unexpected error while introspecting built-in values", e);
}
}
private static final int PUBLIC_STATIC_FINAL = Modifier.PUBLIC | Modifier.STATIC | Modifier.FINAL;
}