Cassandra system properties

Change DataStax Enterprise database native Cassandra system properties at startup.

jvm.options

The location of the jvm.options file depends on the type of installation:
Package installations /etc/dse/cassandra/jvm.options
Tarball installations installation_location/resources/cassandra/conf/jvm.options

cassandra-env.sh

The location of the cassandra-env.sh file depends on the type of installation:
Package installations /etc/dse/cassandra/cassandra-env.sh
Tarball installations installation_location/resources/cassandra/conf/cassandra-env.sh

cassandra.yaml

The location of the cassandra.yaml file depends on the type of installation:
Package installations /etc/dse/cassandra/cassandra.yaml
Tarball installations installation_location/resources/cassandra/conf/cassandra.yaml
Cassandra native Java Virtual Machine (JVM) system parameters.
-Dcassandra.auto_bootstrap
Set auto_bootstrap to false during the initial set up of a node to override the default setting in the cassandra.yaml file.

Default: true.

-Dcassandra.available_processors
Number of processors available to DSE. In a multi-instance deployment, each instance independently assumes that all CPU processors are available to it. Use this setting to specify a smaller set of processors.

Default: all_processors.

-Dcassandra.config
Set to the directory location of the cassandra.yaml file.

Default: depends on the type of installation.

-Dcassandra.consistent.rangemovement
Set to true, makes bootstrapping behavior effective.

Default: false.

-Ddse.consistent_replace
Specify the level of consistency required during a node replacement (ONE, QUORUM, or LOCAL_QUORUM). The default value, ONE, may result in possibly stale data but uses less system resources. If set to QUORUM or LOCAL_QUORUM, the replacement node coordinates repair among a (local) quorum of replicas concurrently with replacement streaming. Repair transfers the differences to the replacement node, ensuring it is consistent with other replicas when the replacement process is finished, assuming data is inserted using either QUORUM or LOCAL_QUORUM consistency levels.
Note: The value for consistent replace should match the value for application read consistency.
Default: ONE
-Ddse.consistent_replace.parallelism
Specify how many ranges will be repaired simultaneously during a consistent replace. The higher the parallelism, the more resources are consumed cluster-wide, which may affect overall cluster performance. Used only in conjunction with Dcassandra.consistent_replace.

Default: 2

-Ddse.consistent_replace.retries
Specify how many times a failed repair will be retried during a replace. If all retries fail, the replace fails. Used only in conjunction with Dcassandra.consistent_replace.

Default: 3

-Ddse.consistent_replace.whitelist
Specify keyspaces and tables on which to perform a consistent replace. The keyspaces and tables can be specified as: “ks1, ks2.cf1”. The default is blank, in which case all keyspaces and tables are replaced. Used only in conjunction with Dcassandra.consistent_replace.

Default: blank (not set)

-Dcassandra.disable_auth_caches_remote_configuration
Set to true to disable authentication caches, for example the caches used for credentials, permissions, and roles. This will mean those config options can only be set (persistently) in cassandra.yaml and will require a restart for new values to take effect.

Default: false.

-Dcassandra.expiration_date_overflow_policy
Set the policy (REJECT or CAP) for any TTL (time to live) timestamps that exceeds the maximum value supported by the storage engine, 2038-01-19T03:14:06+00:00. The database storage engine can only encode TTL timestamps through January 19 2038 03:14:07 UTC due to the Year 2038 problem.
  • REJECT: Reject requests that contain an expiration timestamp later than 2038-01-19T03:14:06+00:00.
  • CAP: Allow requests and insert expiration timestamps later than 2038-01-19T03:14:06+00:00 as 2038-01-19T03:14:06+00:00.
  • CAP-NOWARN: Allow requests and insert expiration timestamps later than 2038-01-19T03:14:06+00:00 as 2038-01-19T03:14:06+00:00, but do not emit a warning.

Default: REJECT.

-Dcassandra.force_default_indexing_page_size
Set to true to disable dynamic calculation of the page size used when indexing an entire partition during initial index build or a rebuild. Fixes the page size to the default of 10000 rows per page.

Default: false.

-Dcassandra.ignore_dc
Set to true to ignore the datacenter name change on startup. Applies only when using DseSimpleSnitch.

Default: false.

-Dcassandra.initial_token
Use when DSE is not using virtual nodes (vnodes). Set to the initial partitioner token for the node on the first start up.

Default: blank (not set).

Note: Vnodes automatically select tokens.
-Dcassandra.join_ring
Set to false to prevent the node from joining a ring on startup.
Tip: Add the node to the ring afterwards using nodetool join and a JMX call.

Default: true.

-Dcassandra.load_ring_state
Set to false to clear all gossip state for the node on restart.

Default: true.

-Dcassandra.max_bf_memory_mb
Caps the maximum amount of memory used by bloom filters. A bloom filter is an off-heap structure associated with each SSTable that checks if any data for the requested row exists in the SSTable before doing any disk I/O.
Attention: DataStax recommends using the default (unlimited) for this -Dcassandra.max_bf_memory_mb property. Do not change this property unless directed to do so by DataStax Support. The lack of bloom filters can have negative performance consequences.

Default: unlimited.

-Dcassandra.metricsReporterConfigFile
Enables pluggable metrics reporter and configures it from the specified file.

Default: blank (not set).

-Dcassandra.native_transport_port
Set to the port number that CQL native transport listens for clients.

Default: 9042.

-Dcassandra.native_transport_startup_delay_seconds
Set to the number of seconds to delay the native transport server start up.

Default: 0 (no delay).

-Dcassandra.partitioner
Set to the partitioner name.

Default: org.apache.cassandra.dht.Murmur3Partitioner.

-Dcassandra.partition_sstables_by_token_range
Set to false to disable JBOD SSTable partitioning by token range to multiple data_file_directories.
CAUTION: Advanced setting that should only be used with guidance from DataStax Support.

Default: true.

-Dcassandra.printHeapHistogramOnOutOfMemoryError
Set to false to disable a heap histogram dump on an OutOfMemoryError.

Default: false.

-Dcassandra.replace_address
Set to the listen_address or the broadcast_address when replacing a dead node with a new node. The new node must be in the same state as before bootstrapping, without any data in its data directory.
Note: The broadcast_address defaults to the listen_address except when the ring is using the Configuring Amazon EC2 multi-region snitch.
-Dcassandra.replace_address_first_boot
Same as -Dcassandra.replace_address but only runs the first time the Cassandra node boots.
Note: This property is preferred over -Dcassandra.replace_address since it has no effect on subsequent boots if it is not removed from jvm.options or cassandra-env.sh.
-Dcassandra.replayList
Allows restoring specific tables from an archived commit log.
-Dcassandra.ring_delay_ms
Set to the number of milliseconds the node waits to hear from other nodes before formally joining the ring.

Default: 30000.

-Dcassandra.ssl_storage_port
Sets the SSL port for encrypted communication.

Default: 7001.

-Dcassandra.start_native_transport
Enables or disables the native transport server. See start_native_transport in cassandra.yaml.

Default: true.

-Dcassandra.storage_port
Sets the port for inter-node communication.

Default: 7000.

-Dcassandra.write_survey
Set to true to enable a tool for testing new compaction and compression strategies. write_survey allows you to experiment with different strategies and benchmark write performance differences without affecting the production workload. See Testing compaction and compression.

Default: false.