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.property[].name Name of the property
deployment.avro.properties.property[].value Value of the property
deployment.avro.registry Avro registry URL
deployment.cluster.hostcount Obsolete, ignored
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

Timeout, in milliseconds, of the initial connection
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, in milliseconds, of ongoing XDCR communication
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.sslHostCheck -
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.configuration[].enabled

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

Class name for custom exporters
deployment.export.configuration[].property[].name

Name of the property
deployment.export.configuration[].property[].value

Value of the property
deployment.export.configuration[].reconnect

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

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

Name of thread pool to use for export processing
deployment.export.configuration[].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.httpd.enabled

Determines if HTTP API daemon is enabled (external VMC service is recommended instead)
deployment.httpd.jsonapi.enabled

Determines if JSON over HTTP API is enabled; requires http.enabled
deployment.httpd.port

Specifies port for HTTP; default varies according to whether TLS/SSL enabled
deployment.import.configuration[].enabled

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

Format of import data
deployment.import.configuration[].format-property[].name

Name of the property
deployment.import.configuration[].format-property[].value

Value of the property
deployment.import.configuration[].module

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

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

Priority of transactions for this import configuration
deployment.import.configuration[].property[].name

Name of the property
deployment.import.configuration[].property[].value

Value of the property
deployment.import.configuration[].type

Import type e.g. kafka
deployment.import.configuration[].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 Dictates the frequency at which the service updates its metrics internally, making them accessible to external systems like Prometheus. If metrics are queried at intervals shorter than this configuration, consecutive results might be identical. Supported unit indicators are s (seconds), m (minutes), h (hours), d (days).
deployment.metrics.maxbuffersize Set the maximum memory usage (in megabytes) for the internal metrics buffer. However the system will make sure it has enough memory to store every metric at least once.
deployment.paths.commandlog.path Directory path for command log
deployment.paths.commandlogsnapshot.path Directory path for command log snapshot
deployment.paths.droverflow.path Directory path for disaster recovery overflow
deployment.paths.exportcursor.path Directory path for export cursors
deployment.paths.exportoverflow.path Directory path for export overflow
deployment.paths.largequeryswap.path Directory path for large query swapping
deployment.paths.snapshots.path Directory path for snapshots. Must be located in a writeable directory, not the root (as init --force will rename existing snapshot folder).
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.indirectPassword -
deployment.security.ldap.ssl.truststore.password Password for LDAP truststore file
deployment.security.ldap.ssl.truststore.path -
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.dr Extends TLS/SSL security to the DR port (5555).
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.indirectPassword -
deployment.ssl.keystore.password Password for VoltDB keystore file
deployment.ssl.keystore.path -
deployment.ssl.truststore.indirectPassword -
deployment.ssl.truststore.password Password for VoltDB truststore file
deployment.ssl.truststore.path -
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.feature[].alert

-
deployment.systemsettings.resourcemonitor.disklimit.feature[].name

-
deployment.systemsettings.resourcemonitor.disklimit.feature[].size

-
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.maxfrequency Task scheduling parameter
deployment.task.mininterval Task scheduling parameter
deployment.task.threadpools.host.size Threadpool host size
deployment.task.threadpools.partition.size Threadpool partition size
deployment.threadpools.pool[].name

Thread pool name
deployment.threadpools.pool[].size

Thread pool size
deployment.topics.broker.property[].name

Name of the property
deployment.topics.broker.property[].value

Value of the property
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[].property[].name

Name of the property
deployment.topics.topic[].property[].value

Value of the property
deployment.topics.topic[].retention

Topic retention policy
deployment.users.user[].expires

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

A VoltDB user name
deployment.users.user[].password

User password
deployment.users.user[].plaintext

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

Comma-list of roles assigned to user