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

Documentation

VoltDB Home » Documentation » Using VoltDB

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. Ignored for Volt V!4+ (always enabled)
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.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