E.2. YAML Properties for Configuring Volt Databases on Bare Metal

Table E.1, “Complete List of Volt Configuration Properties” lists all of the configuration properties supported by Volt Active Data on bare metal systems. (For information on configuring Volt Active Data on Kubernetes, see the Volt Kubernetes Administrator's Guide.) The table lists the properties in alphabetical order and includes both a description of the property and a checkmark next to those properties that can be updated "on the fly" (that is, while the database is running.) Property names followed by a pair of square brackets indicate properties that are a list of subproperties.

Table E.1. Complete List of Volt Configuration Properties

PropertyLive UpdateDescription
deployment.avro.namespace Avro namespace (since V11)
deployment.avro.prefix Avro configuration prefix
deployment.avro.properties Avro configuration properties
deployment.avro.registry Avro registry URL
deployment.cluster.kfactor K-factor to use for database durability and data safety replication
deployment.cluster.sitesperhost SitesPerHost for VoltDB Cluster
deployment.commandlog.enabled Command logging for database durability (recommended)
deployment.commandlog.frequency.time

✓

How often the command log is written, by time (milliseconds)
deployment.commandlog.frequency.transactions

✓

How often the command log is written, by transaction commands
deployment.commandlog.logsize

✓

Command logging allocated disk space (MB)
deployment.commandlog.synchronous Transactions do not complete until logged to disk
deployment.compoundproc.callsperstage Maximum number of procedure invocations per stage of each compound procedure
deployment.compoundproc.queuelimit Maximum number of compound procedures queued to the compound procedure executor
deployment.compoundproc.threads Number of threads used by the compound procedure executor
deployment.dr.conflictretention

✓

Automatic pruning of XDCR conflict logs; integer followed by one of m/h/d, for minutes/hours/days(since V11)
deployment.dr.connection.connectiontimeout

✓

Connection timeout for connecting to producer cluster in milliseconds.
deployment.dr.connection.enabled

✓

Specifies whether this DR connection is enabled
deployment.dr.connection.preferredSource

✓

Cluster ID of preferred DR source
deployment.dr.connection.receivetimeout

✓

Timeout receiving response from producer cluster in milliseconds
deployment.dr.connection.source

✓

If role is replica or xdcr: list of host names or IP addresses of remote nodes
deployment.dr.connection.ssl

✓

-
deployment.dr.connection.ssl-host-check Enable validation of Subject Alternative Name in received certificates
deployment.dr.consumerlimit.maxbuffers

✓

Enable DR consumer flow control; either maxsize or maxbuffers must be specified
deployment.dr.consumerlimit.maxsize

✓

Enable DR consumer flow control; either maxsize or maxbuffers must be specified. maxsize is an integer optionally followed by 'g' (gigabytes) or 'm' (megabytes)
deployment.dr.exportconflicts

✓

Optional setting. If false, XDCR conflict logs are not generated into export stream and therefore are not exported. Conflicts are still handled and shown in statistics.
deployment.dr.flushInterval

✓

-
deployment.dr.id Unique cluster id, 0-127
deployment.dr.role Role for this cluster, either xdcr or none
deployment.dr.schemachange.enabled

✓

Enable DR consumer to continue while compatible schema changes are being made (since V12)
deployment.dr.schemachange.truncate

✓

Enable values to be truncated if a VARCHAR column is wider on another cluster while schema changes are being made
deployment.export.configurations[].enabled

✓

Is this export enabled?
deployment.export.configurations[].exportconnectorclass

✓

Class name for custom exporters
deployment.export.configurations[].properties

✓

List of type-specific properties
deployment.export.configurations[].reconnect

✓

Reconnect interval, integer followed by 's' or 'm' (V12 or later)
deployment.export.configurations[].target

✓

Name of export target
deployment.export.configurations[].threadpool

✓

Name of thread pool to use for export processing
deployment.export.configurations[].type

✓

Export type (file, custom, etc.)
deployment.export.defaultpoolsize

✓

Size of the default export thread pool (if not set, sites per host value used); only used for Volt V13+
deployment.heartbeat.timeout

✓

Internal VoltDB cluster verification of presence of other nodes (seconds)
deployment.import.configurations[].enabled

✓

Is this import enabled?
deployment.import.configurations[].format

✓

Format of import data
deployment.import.configurations[].formatProperties

✓

List of formatter-specific properties (only used for Volt V13+)
deployment.import.configurations[].module

✓

Name of jar file for custom importer
deployment.import.configurations[].nickname

✓

Arbitrary but unique name for import configuration (Volt V14+)
deployment.import.configurations[].priority

✓

Priority of transactions for this import configuration
deployment.import.configurations[].properties

✓

List of type-specific properties
deployment.import.configurations[].type

✓

Import type e.g. kafka
deployment.import.configurations[].version

✓

The kafka version (only used for Volt V13+)
deployment.metrics.enabled Enables cloud-native metrics system on each VoltDB pod. It is an alternative to using Prometheus Agent.
deployment.metrics.interval

✓

How often the metrics system prepares a new metrics slice to be sourced by an external system like prometheus. Supported unit indicators are s (seconds), m (minutes), h (hours), d (days).
deployment.metrics.maxbuffersize Limits memory that the metric system can use for internal metric buffering (system will always retain at least one metrics slice in the buffer). In megabytes.
deployment.partitiondetection.enabled Controls detection of network partitioning. Setting this false is deprecated in V14, and doing so will be ignored in V15+.
deployment.paths -
deployment.security.enabled

✓

Controls whether user-based authentication and authorization are used
deployment.security.ldap.group[].name

✓

Distinguished name of LDAP group
deployment.security.ldap.group[].nickname

✓

Arbitrary but unique name for this group entry (Volt V14+)
deployment.security.ldap.group[].role

✓

Comma-list of Volt roles equivalent to this LDAP group
deployment.security.ldap.groupclass

✓

Name of the LDAP schema's objectClass defining a group of users
deployment.security.ldap.groupmemberuid

✓

Name of the LDAP schema's objectClass defining a group of users
deployment.security.ldap.password

✓

Password corresponding to LDAP server username, required
deployment.security.ldap.rootdn

✓

Distinguished Name of the root of the LDAP schema that defines users and groups, required
deployment.security.ldap.server

✓

URL for LDAP server, required; as 'ldap://server:port', or 'ldaps://server:port', port optional
deployment.security.ldap.ssl.insecure

✓

-
deployment.security.ldap.ssl.truststore.auxFile -
deployment.security.ldap.ssl.truststore.file Truststore file used to validate LDAPS server certificate (Java KeyStore format)
deployment.security.ldap.ssl.truststore.indirectPassword -
deployment.security.ldap.ssl.truststore.password Password for LDAP truststore file
deployment.security.ldap.timeout

✓

Timeout, in seconds, for requests to the LDAP server
deployment.security.ldap.user

✓

Username used by VoltDB for read-only access on LDAP server, required
deployment.security.ldap.userclass

✓

Name of the LDAP schema's objectClass containing user information
deployment.security.ldap.useruid

✓

Name of the LDAP attribute in the userObjectClass that should contain the username provided by the VoltDB client
deployment.security.provider

✓

Sets authentication provider as hash (local) or ldap (using a customer-specified LDAP/LDAP server)
deployment.snapshot.enabled

✓

Enable/disable periodic automatic snapshots
deployment.snapshot.frequency

✓

Frequency of automatic snapshots (in s,m,h)
deployment.snapshot.prefix

✓

Unique prefix for snapshot files
deployment.snapshot.retain

✓

Number of snapshots to retain
deployment.snmp.authkey

✓

SNMPv3 authentication key if protocol is not NoAuth
deployment.snmp.authprotocol

✓

SNMPv3 authentication protocol. One of: SHA, MD5, NoAuth
deployment.snmp.community

✓

Name of SNMP community
deployment.snmp.enabled

✓

Enables or disables use of SNMP
deployment.snmp.privacykey

✓

SNMPv3 privacy key if protocol is not NoPriv
deployment.snmp.privacyprotocol

✓

SNMPv3 privacy protocol. One of: AES, DES, 3DES, AES192, AES256, NoPriv
deployment.snmp.target

✓

Host name or IP address, and optional port (default 162), for SNMP server
deployment.snmp.username

✓

Username for SNMPv3 authentication; else SNMPv2c is used
deployment.ssl.clientauthrequired Enables mTLS on external port; client applications must be configured with a certificate
deployment.ssl.crl.path -
deployment.ssl.dr Extends TLS/SSL security to the DR port (5555).
deployment.ssl.drclientauthrequired Enables mTLS on DR port; DR consumer will use local cluster keystore to identify itself to remote
deployment.ssl.enabled Enable or disable TLS/SSL on the cluster. Other properties control activation of TLS/SSL for specific ports and features.
deployment.ssl.external Extends TLS/SSL security to all external ports (default admin 21211, client 21212).
deployment.ssl.internal Extends TLS/SSL security to the internal port (default 3021).
deployment.ssl.keystore.auxFile -
deployment.ssl.keystore.file Keystore file for cluster, in Java Key Store format; ignored if sslSecret is used
deployment.ssl.keystore.indirectPassword -
deployment.ssl.keystore.password Password for VoltDB keystore file
deployment.ssl.truststore.auxFile -
deployment.ssl.truststore.file Truststore file, in Java Key Store format; ignored if sslSecret is used
deployment.ssl.truststore.indirectPassword -
deployment.ssl.truststore.password Password for VoltDB truststore file
deployment.systemsettings.clockskew.interval

✓

Interval of the scheduled clock skew collection (minutes). 0 is allowed and it disables collection. Interval cannot be less than 0 and if set below such value it will be reset to default.
deployment.systemsettings.compaction.interval

✓

Interval to indicate how often memory compaction should run (seconds)
deployment.systemsettings.compaction.maxcount

✓

Set a target block count compaction should try and achieve if there is memory fragmentation
deployment.systemsettings.elastic.duration

✓

Target value for the length of time each rebalance transaction will take (milliseconds)
deployment.systemsettings.elastic.throughput

✓

Target value for rate of data processing by rebalance transactions (MB)
deployment.systemsettings.flushinterval.dr.interval

✓

Interval for flushing DR data (milliseconds)
deployment.systemsettings.flushinterval.export.interval

✓

Interval for flushing export data (milliseconds)
deployment.systemsettings.flushinterval.minimum

✓

Interval between checking for need to flush (milliseconds)
deployment.systemsettings.priorities.batchsize Modifies priority scheduling algorithm to execute multiple requests before rescheduling
deployment.systemsettings.priorities.dr.priority Priority for DR requests (1-8, 1 is highest priority)
deployment.systemsettings.priorities.enabled Enables priority scheduling of requests by VoltDB cluster (true/false)
deployment.systemsettings.priorities.maxwait Modifies priority scheduling by setting a limit on time waiting while higher priority requests execute (millisecs)
deployment.systemsettings.priorities.snapshot.priority Priority for snapshot requests (1-8, 1 is highest priority)
deployment.systemsettings.procedure.copyparameters

✓

If set, mutable array parameters should be copied before processing
deployment.systemsettings.procedure.loginfo

✓

Threshold for long-running task detection (milliseconds)
deployment.systemsettings.query.timeout

✓

Timeout on SQL queries (milliseconds)
deployment.systemsettings.resourcemonitor.disklimit

✓

-
deployment.systemsettings.resourcemonitor.frequency

✓

Interval between Resource Monitor resource checks (seconds)
deployment.systemsettings.resourcemonitor.memorylimit.alert

✓

Alert level for memory use (in GB or as percentage)
deployment.systemsettings.resourcemonitor.memorylimit.compact

✓

Enable memory compaction
deployment.systemsettings.resourcemonitor.memorylimit.size

✓

Limit on memory use (in GB or as percentage)
deployment.systemsettings.snapshot.autotune.enabled

✓

Autotuning for snapshot work (for beta test only, in 14.1.0)
deployment.systemsettings.snapshot.priority

✓

Delay factor for snapshot work; larger values cause longer waits between bursts of execution. Ignored if systemsettings.priorities.enabled is true.
deployment.systemsettings.snapshot.streamingthrottle

✓

-
deployment.systemsettings.temptables.maxsize Limit the size of temporary database tables (MB)
deployment.task.host.size -
deployment.task.maxfrequency Task scheduling parameter
deployment.task.mininterval Task scheduling parameter
deployment.task.partition.size -
deployment.threadpools[].name

✓

-
deployment.threadpools[].size

✓

-
deployment.topics.broker.properties

✓

Kafka topics: broker configuration properties
deployment.topics.enabled

✓

Kafka topics: enabled or not (supported since V11)
deployment.topics.threadpool

✓

Kafka topics: threadpool to use
deployment.topics.topic[].allow

✓

List of roles allowed to access the topic
deployment.topics.topic[].format

✓

Format of topic message
deployment.topics.topic[].name

✓

Topic name
deployment.topics.topic[].opaque

✓

Is this an opaque topic?
deployment.topics.topic[].priority

✓

Priority for topics requests (if priority scheduling is enabled)
deployment.topics.topic[].procedure

✓

Procedure to invoke upon getting message
deployment.topics.topic[].properties

✓

Topic configuration properties
deployment.topics.topic[].retention

✓

Topic retention policy
deployment.users[].expires

✓

Expiration date for this user account
deployment.users[].name

✓

A VoltDB user name
deployment.users[].password

✓

User password
deployment.users[].plaintext

✓

If false, password was pre-hashed
deployment.users[].roles

✓

Comma-list of roles assigned to user