B.6. VoltDB Database Configuration Options

Documentation

VoltDB Home » Documentation » VoltDB Kubernetes Administrator's Guide

B.6. VoltDB Database Configuration Options

The following properties define the VoltDB database configuration.

Table B.5. Options Starting with cluster.config.deployment...

ParameterDescriptionDefault
.avro.namespaceAvro namespace (since V11)""
.avro.prefixAvro configuration prefix""
.avro.propertiesAvro configuration properties{ }
.avro.registryAvro registry URL""
.cluster.kfactorK-factor to use for database durability and data safety replication1
.cluster.sitesperhostSitesPerHost for VoltDB Cluster8
.commandlog.enabledCommand logging for database durability (recommended)true
​.commandlog​.frequency​.timeHow often the command log is written, by time (milliseconds)200
​.commandlog​.frequency​.transactionsHow often the command log is written, by transaction commands2147483647
.commandlog.logsizeCommand logging allocated disk space (MB)1024
.commandlog.synchronousTransactions do not complete until logged to diskfalse
.dr.conflictretentionAutomatic pruning of XDCR conflict logs; integer followed by one of m/h/d, for minutes/hours/days(since V11)""
.dr.connection.enabledSpecifies whether this DR connection is enabledfalse
​.dr​.connection​.preferredSourceCluster ID of preferred DR source""
.dr.connection.sourceIf role is replica or xdcr: list of host names or IP addresses of remote nodes""
​.dr​.connection​.source​.connectiontimeoutConnection timeout for connecting to producer cluster in milliseconds.""
​.dr​.connection​.source​.receivetimeoutTimeout receiving response from producer cluster in milliseconds""
​.dr​.connection​.ssl​.sslSecret​.certSecretNameOptional pre-made secret containing truststore data, including password if needed""
​.dr​.connection​.ssl​.truststore​.fileOptional truststore file used to verify the identity of the remote VoltDB cluster; defaults to truststore of this cluster, unless sslSecret is set""
​.dr​.connection​.ssl​.truststore​.passwordPassword for truststore file specified in truststore.file""
​.dr​.connection​.ssl-host-checkEnable validation of Subject Alternative Name in received certificatesfalse
​.dr​.consumerlimit​.maxbuffersEnable DR consumer flow control; either maxsize or maxbuffers must be specified""
.dr.consumerlimit.maxsizeEnable DR consumer flow control; either maxsize or maxbuffers must be specified. maxsize is an integer optionally followed by 'g' (gigabytes) or 'm' (megabytes)""
.dr.idUnique cluster id, 0-1270
.dr.roleRole for this cluster, either xdcr or nonexdcr
.dr.schemachange.enabledEnable DR consumer to continue while compatible schema changes are being made (since V12)false
.dr.schemachange.truncateEnable values to be truncated if a VARCHAR column is wider on another cluster while schema changes are being madefalse
.export.configurationsList of export configurations (complex structure)[ ]
​.export​.configurations​.enabledIs this export enabled?false
​.export​.configurations​.exportconnectorclassClass name for custom exporters""
​.export​.configurations​.propertiesList of type-specific properties[ ]
​.export​.configurations​.reconnectReconnect interval, integer followed by 's' or 'm' (V12 or later)"120s"
​.export​.configurations​.targetName of export target""
​.export​.configurations​.threadpoolName of thread pool to use for export processing""
​.export​.configurations​.typeExport type (file, custom, etc.)"file"
.export.defaultpoolsizeSize of the default export thread pool (if not set, sites per host value used); only used for Volt V13+Not set
.heartbeat.timeoutInternal VoltDB cluster verification of presence of other nodes (seconds)90
.httpd.enabledDetermines if HTTP API daemon is enabled (external VMC service is recommended instead)false
.httpd.jsonapi.enabledDetermines if JSON over HTTP API is enabled; requires http.enabledfalse
.httpd.portSpecifies port for HTTP; default varies according to whether TLS/SSL enabled8080 or 8443
.import.configurationsList of import configurations (complex structure)[ ]
​.import​.configurations​.enabledIs this import enabled?"false"
​.import​.configurations​.formatFormat of import data""
​.import​.configurations​.formatPropertiesList of formatter-specific properties (only used for Volt V13+)[ ]
​.import​.configurations​.moduleName of jar file for custom importer""
​.import​.configurations​.nicknameArbitrary but unique name for import configuration (Volt V14+)"import-NNNNNNNN"
​.import​.configurations​.priorityPriority of transactions for this import configuration4
​.import​.configurations​.propertiesList of type-specific properties[ ]
​.import​.configurations​.typeImport type e.g. kafka""
​.import​.configurations​.versionThe kafka version (only used for Volt V13+)"10"
.metrics.enabledEnables cloud-native metrics system on each VoltDB pod. It is an alternative to using Prometheus Agent.false
.metrics.intervalHow 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).60s
.metrics.maxbuffersizeLimits 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.16
​.partitiondetection​.enabledControls detection of network partitioning. Ignored for Volt V!4+ (always enabled)true
.paths.commandlog.pathDirectory path for command log​/pvc​/voltdb​/voltdbroot​/command_log
​.paths​.commandlogsnapshot​.pathDirectory path for command log snapshot​/pvc​/voltdb​/voltdbroot​/command_log_snapshot
.paths.droverflow.pathDirectory path for disaster recovery overflow​/pvc​/voltdb​/voltdbroot​/dr_overflow
.paths.exportcursor.pathDirectory path for export cursors​/pvc​/voltdb​/voltdbroot​/export_cursor
​.paths​.exportoverflow​.pathDirectory path for export overflow​/pvc​/voltdb​/voltdbroot​/export_overflow
​.paths​.largequeryswap​.pathDirectory path for large query swapping​/pvc​/voltdb​/voltdbroot​/large_query_swap
.paths.snapshots.pathDirectory path for snapshots. Must be located in a writeable directory, not the root (as init --force will rename existing snapshot folder).​/pvc​/voltdb​/voltdbroot​/snapshots
.security.enabledControls whether user-based authentication and authorization are usedfalse
.security.ldap.groupList of LDAP groups and their mapping to VoltDB roles[ ]
.security.ldap.group.nameDistinguished name of LDAP group""
​.security​.ldap​.group​.nicknameArbitrary but unique name for this group entry (Volt V14+)name/role
.security.ldap.group.roleComma-list of Volt roles equivalent to this LDAP group""
.security.ldap.groupclassName of the LDAP schema's objectClass defining a group of users"groupOfUniqueNames"
​.security​.ldap​.groupmemberidName of the LDAP schema's objectClass defining a group of users"uniqueMember"
.security.ldap.passwordPassword corresponding to LDAP server username, required""
.security.ldap.rootdnDistinguished Name of the root of the LDAP schema that defines users and groups, required""
.security.ldap.serverURL for LDAP server, required; as 'ldap://server:port', or 'ldaps://server:port', port optional""
​.security​.ldap​.ssl​.truststore​.fileTruststore file used to validate LDAPS server certificate (Java KeyStore format)""
​.security​.ldap​.ssl​.truststore​.passwordPassword for LDAP truststore file""
.security.ldap.timeoutTimeout, in seconds, for requests to the LDAP server10
.security.ldap.userUsername used by VoltDB for read-only access on LDAP server, required""
.security.ldap.userclassName of the LDAP schema's objectClass containing user information"inetOrgPerson"
.security.ldap.useruidName of the LDAP attribute in the userObjectClass that should contain the username provided by the VoltDB client"uid"
.security.providerSets authentication provider as hash (local) or ldap (using a customer-specified LDAP/LDAP server)hash
.snapshot.enabledEnable/disable periodic automatic snapshotstrue
.snapshot.frequencyFrequency of automatic snapshots (in s,m,h)24h
.snapshot.prefixUnique prefix for snapshot filesAUTOSNAP
.snapshot.retainNumber of snapshots to retain2
.snmp.authkeySNMPv3 authentication key if protocol is not NoAuthvoltdbauthkey
.snmp.authprotocolSNMPv3 authentication protocol. One of: SHA, MD5, NoAuthSHA
.snmp.communityName of SNMP communitypublic
.snmp.enabledEnables or disables use of SNMPfalse
.snmp.privacykeySNMPv3 privacy key if protocol is not NoPrivvoltdbprivacykey
.snmp.privacyprotocolSNMPv3 privacy protocol. One of: AES, DES, 3DES, AES192, AES256, NoPrivAES
.snmp.targetHost name or IP address, and optional port (default 162), for SNMP server""
.snmp.usernameUsername for SNMPv3 authentication; else SNMPv2c is used""
.ssl.drExtends TLS/SSL security to the DR port (5555).false
.ssl.enabledEnable or disable TLS/SSL on the cluster. Other properties control activation of TLS/SSL for specific ports and features.false
.ssl.externalExtends TLS/SSL security to all external ports (default admin 21211, client 21212).false
.ssl.internalExtends TLS/SSL security to the internal port (default 3021).false
.ssl.keystore.fileKeystore file for cluster, in Java Key Store format; ignored if sslSecret is used""
.ssl.keystore.passwordPassword for VoltDB keystore file""
​.ssl​.sslSecret​.certSecretNamePre-made secret containing keystore and truststore data, optionally including passwords""
​.ssl​.sslSecret​.passwordSecretNamePre-made secret containing password for keystore/truststore, if password is not in the secret named by certSecretName""
.ssl.truststore.fileTruststore file, in Java Key Store format; ignored if sslSecret is used""
.ssl.truststore.passwordPassword for VoltDB truststore file""
​.systemsettings​.clockskew​.intervalInterval 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.60
​.systemsettings​.compaction​.intervalInterval to indicate how often memory compaction should run (seconds)60
​.systemsettings​.compaction​.maxcountSet a target block count compaction should try and achieve if there is memory fragmentation1
​.systemsettings​.elastic​.durationTarget value for the length of time each rebalance transaction will take (milliseconds)50
​.systemsettings​.elastic​.throughputTarget value for rate of data processing by rebalance transactions (MB)2
​.systemsettings​.flushinterval​.dr​.intervalInterval for flushing DR data (milliseconds)1000
​.systemsettings​.flushinterval​.export​.intervalInterval for flushing export data (milliseconds)4000
​.systemsettings​.flushinterval​.minimumInterval between checking for need to flush (milliseconds)1000
​.systemsettings​.priorities​.batchsizeModifies priority scheduling algorithm to execute multiple requests before rescheduling25
​.systemsettings​.priorities​.dr​.priorityPriority for DR requests (1-8, 1 is highest priority)5
​.systemsettings​.priorities​.enabledEnables priority scheduling of requests by VoltDB cluster (true/false)false
​.systemsettings​.priorities​.maxwaitModifies priority scheduling by setting a limit on time waiting while higher priority requests execute (millisecs)1000
​.systemsettings​.priorities​.snapshot​.priorityPriority for snapshot requests (1-8, 1 is highest priority)6
​.systemsettings​.procedure​.copyparametersIf set, mutable array parameters should be copied before processingtrue
​.systemsettings​.procedure​.loginfoThreshold for long-running task detection (milliseconds)10000
​.systemsettings​.query​.timeoutTimeout on SQL queries (milliseconds)10000
​.systemsettings​.resourcemonitor​.disklimit​.commandlog​.alertAlert level for disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.commandlog​.sizeLimit on disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.commandlogsnapshot​.alertAlert level for disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.commandlogsnapshot​.sizeLimit on disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.droverflow​.alertAlert level for disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.droverflow​.sizeLimit on disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.exportoverflow​.alertAlert level for disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.exportoverflow​.sizeLimit on disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.snapshots​.alertAlert level for disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.snapshots​.sizeLimit on disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.topicsdata​.alertAlert level for disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.disklimit​.topicsdata​.sizeLimit on disk use (in GB or as percentage, empty is unlimited)""
​.systemsettings​.resourcemonitor​.frequencyInterval between Resource Monitor resource checks (seconds)60
​.systemsettings​.resourcemonitor​.memorylimit​.alertAlert level for memory use (in GB or as percentage)70%
​.systemsettings​.resourcemonitor​.memorylimit​.sizeLimit on memory use (in GB or as percentage)80%
​.systemsettings​.resourcemonitor​.memorylimit​.compactEnable memory compactiontrue
​.systemsettings​.snapshot​.priorityPriority for snapshot work (OBSOLETE delay factor; see systemsettings​.priorities)6
​.systemsettings​.temptables​.maxsizeLimit the size of temporary database tables (MB)100
.task.minintervalTask scheduling parameter0
.task.maxfrequencyTask scheduling parameter0.0
.task.threadpoolsThreadpools available for task execution[ ]
​.task​.threadpools​.host​.sizeThreadpool host size0
​.task​.threadpools​.partition​.sizeThreadpool partition size0
.threadpoolsList of thread pools to create[ ]
.threadpools.pool.nameThread pool name""
.threadpools.pool.sizeThread pool size""
.topics.broker.propertiesKafka topics: broker configuration properties[ ]
.topics.brokerKafka topics: broker configuration``
.topics.enabledKafka topics: enabled or not (supported since V11)true
.topics.threadpoolKafka topics: threadpool to use``
.topics.topic.allowList of roles allowed to access the topic``
.topics.topic.formatFormat of topic message``
.topics.topic.nameTopic name``
.topics.topic.opaqueIs this an opaque topic?false
.topics.topic.priorityPriority for topics requests (if priority scheduling is enabled)4
.topics.topic.procedureProcedure to invoke upon getting message``
.topics.topic.propertiesTopic configuration properties[ ]
.topics.topic.retentionTopic retention policy``
.topics.topicList of topics[ ]
.users.expiresExpiration date for this user accountNone
.users.nameA VoltDB user name""
.users.passwordUser password""
.users.plaintextIf false, password was pre-hashedfalse
.users.rolesComma-list of roles assigned to user""
.usersList of VoltDB users to be added to the deployment[ ]
.metrics.enabledEnables cloud native metrics system on each VoltDB pod. It is an alternative to using Prometheus Agent.false
.metrics.intervalDictates 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).60s
.metrics.maxbuffersizeSet 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.16