Client options

This type is global
Name Type Description
contactPoints Array<string>

Array of addresses or host names of the nodes to add as contact points.

Contact points are addresses of Cassandra nodes that the driver uses to discover the cluster topology.

Only one contact point is required (the driver will retrieve the address of the other nodes automatically), but it is usually a good idea to provide more than one contact point, because if that single contact point is unavailable, the driver will not be able to initialize correctly.

keyspace String
policies Object
policies.loadBalancing LoadBalancingPolicy

The load balancing policy instance to be used to determine the coordinator per query.

policies.retry RetryPolicy

The retry policy.

policies.reconnection ReconnectionPolicy

The reconnection policy to be used.

policies.addressResolution AddressTranslator

The address resolution policy.

queryOptions QueryOptions

Default options for all queries.

pooling Object

Pooling options.

pooling.heartBeatInterval Number

The amount of idle time in milliseconds that has to pass before the driver issues a request on an active connection to avoid idle time disconnections. Default: 30000.

pooling.coreConnectionsPerHost Object

Associative array containing amount of connections per host distance.

pooling.warmup Boolean

Determines if all connections to hosts in the local datacenter must be opened on connect. Default: false.

protocolOptions Object
protocolOptions.port Number

The port to use to connect to the Cassandra host. If not set through this method, the default port (9042) will be used instead.

protocolOptions.maxSchemaAgreementWaitSeconds Number

The maximum time in seconds to wait for schema agreement between nodes before returning from a DDL query. Default: 10.

protocolOptions.maxVersion Number

When set, it limits the maximum protocol version used to connect to the nodes. Useful for using the driver against a cluster that contains nodes with different major/minor versions of Cassandra.

socketOptions Object
socketOptions.connectTimeout Number

Connection timeout in milliseconds. Default: 5000.

socketOptions.defunctReadTimeoutThreshold Number

Determines the amount of requests that simultaneously have to timeout before closing the connection. Default: 64.

socketOptions.keepAlive Boolean

Whether to enable TCP keep-alive on the socket. Default: true.

socketOptions.keepAliveDelay Number

TCP keep-alive delay in milliseconds. Default: 0.

socketOptions.readTimeout Number

Per-host read timeout in milliseconds.

Please note that this is not the maximum time a call to execute may have to wait; this is the maximum time that call will wait for one particular Cassandra host, but other hosts will be tried if one of them timeout. In other words, a execute call may theoretically wait up to readTimeout * number_of_cassandra_hosts (though the total number of hosts tried for a given query also depends on the LoadBalancingPolicy in use).

When setting this value, keep in mind the following:

  • the timeout settings used on the Cassandra side (*_request_timeout_in_ms in cassandra.yaml) should be taken into account when picking a value for this read timeout. You should pick a value a couple of seconds greater than the Cassandra timeout settings.
  • the read timeout is only approximate and only control the timeout to one Cassandra host, not the full query.
Setting a value of 0 disables read timeouts. Default: 0.
socketOptions.tcpNoDelay Boolean

When set to true, it disables the Nagle algorithm. Default: true.

socketOptions.coalescingThreshold Number

Buffer length in bytes use by the write queue before flushing the frames. Default: 8000.

authProvider AuthProvider

Provider to be used to authenticate to an auth-enabled cluster.

sslOptions Object

Client-to-node ssl options, when set the driver will use the secure layer. You can specify cert, ca, … options named after the Node.js tls.connect options.

encoding Object function

Map constructor to use for Cassandra map type encoding and decoding. If not set, it will default to Javascript Object with map keys as property names.

encoding.set function

Set constructor to use for Cassandra set type encoding and decoding. If not set, it will default to Javascript Array.

encoding.copyBuffer Boolean

Determines if the network buffer should be copied for buffer based data types (blob, uuid, timeuuid and inet).

Setting it to true will cause that the network buffer is copied for each row value of those types, causing additional allocations but freeing the network buffer to be reused. Setting it to true is a good choice for cases where the Row and ResultSet returned by the queries are long-lived objects.

Setting it to false will cause less overhead and the reference of the network buffer to be maintained until the row / result set are de-referenced. Default: true.

encoding.useUndefinedAsUnset Boolean

Valid for Cassandra 2.2 and above. Determines that, if a parameter is set to undefined it should be encoded as unset.

By default, ECMAScript undefined is encoded as null in the driver. Cassandra 2.2 introduced the concept of unset. At driver level, you can set a parameter to unset using the field types.unset. Setting this flag to true allows you to use ECMAScript undefined as Cassandra unset.

Default: true.