The following properties define the VoltDB database configuration.
Table B.5. Options Starting with cluster.config.deployment...
Parameter | Description | Default |
---|---|---|
.avro.namespace | Avro namespace (since V11) | "" |
.avro.prefix | Avro configuration prefix | "" |
.avro.properties | Avro configuration properties | { } |
.avro.registry | Avro registry URL | "" |
.cluster.kfactor | K-factor to use for database durability and data safety replication | 1 |
.cluster.sitesperhost | SitesPerHost for VoltDB Cluster | 8 |
.commandlog.enabled | Command logging for database durability (recommended) | true |
.commandlog.frequency.time | How often the command log is written, by time (milliseconds) | 200 |
.commandlog.frequency.transactions | How often the command log is written, by transaction commands | 2147483647 |
.commandlog.logsize | Command logging allocated disk space (MB) | 1024 |
.commandlog.synchronous | Transactions do not complete until logged to disk | false |
.compoundproc.callsperstage | Maximum number of procedure invocations per stage of each compound procedure | 10 |
.compoundproc.queuelimit | Maximum number of compound procedures queued to the compound procedure executor | 10000 |
.compoundproc.threads | Number of threads used by the compound procedure executor | Max(availableProcessors, 4) |
.dr.conflictretention | Automatic pruning of XDCR conflict logs; integer followed by one of m/h/d, for minutes/hours/days(since V11) | "" |
.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. | true |
.dr.connection.enabled | Specifies whether this DR connection is enabled | false |
.dr.connection.preferredSource | Cluster ID of preferred DR source | "" |
.dr.connection.source | If role is replica or xdcr: list of host names or IP addresses of remote nodes | "" |
.dr.connection.source.connectiontimeout | Connection timeout for connecting to producer cluster in milliseconds. | "" |
.dr.connection.source.receivetimeout | Timeout receiving response from producer cluster in milliseconds | "" |
.dr.connection.ssl.sslSecret.certSecretName | Optional pre-made secret containing truststore data, including password if needed | "" |
.dr.connection.ssl.truststore.file | Optional 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.password | Password for truststore file specified in truststore.file | "" |
.dr.connection.ssl-host-check | Enable validation of Subject Alternative Name in received certificates | false |
.dr.consumerlimit.maxbuffers | Enable DR consumer flow control; either maxsize or maxbuffers must be specified | "" |
.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) | "" |
.dr.id | Unique cluster id, 0-127 | 0 |
.dr.role | Role for this cluster, either xdcr or none | xdcr |
.dr.schemachange.enabled | Enable DR consumer to continue while compatible schema changes are being made (since V12) | false |
.dr.schemachange.truncate | Enable values to be truncated if a VARCHAR column is wider on another cluster while schema changes are being made | false |
.export.configurations | List of export configurations (complex structure) | [ ] |
.export.configurations.enabled | Is this export enabled? | false |
.export.configurations.exportconnectorclass | Class name for custom exporters | "" |
.export.configurations.properties | List of type-specific properties | [ ] |
.export.configurations.reconnect | Reconnect interval, integer followed by 's' or 'm' (V12 or later) | "120s" |
.export.configurations.target | Name of export target | "" |
.export.configurations.threadpool | Name of thread pool to use for export processing | "" |
.export.configurations.type | Export type (file, custom, etc.) | "file" |
.export.defaultpoolsize | Size of the default export thread pool (if not set, sites per host value used); only used for Volt V13+ | Not set |
.heartbeat.timeout | Internal VoltDB cluster verification of presence of other nodes (seconds) | 90 |
.httpd.enabled | Determines if HTTP API daemon is enabled (external VMC service is recommended instead) | false |
.httpd.jsonapi.enabled | Determines if JSON over HTTP API is enabled; requires http.enabled | false |
.httpd.port | Specifies port for HTTP; default varies according to whether TLS/SSL enabled | 8080 or 8443 |
.import.configurations | List of import configurations (complex structure) | [ ] |
.import.configurations.enabled | Is this import enabled? | "false" |
.import.configurations.format | Format of import data | "" |
.import.configurations.formatProperties | List of formatter-specific properties (only used for Volt V13+) | [ ] |
.import.configurations.module | Name of jar file for custom importer | "" |
.import.configurations.nickname | Arbitrary but unique name for import configuration (Volt V14+) | "import-NNNNNNNN" |
.import.configurations.priority | Priority of transactions for this import configuration | 4 |
.import.configurations.properties | List of type-specific properties | [ ] |
.import.configurations.type | Import type e.g. kafka | "" |
.import.configurations.version | The kafka version (only used for Volt V13+) | "10" |
.metrics.enabled | Enables cloud-native metrics system on each VoltDB pod. It is an alternative to using Prometheus Agent. | false |
.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). | 60s |
.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. | 16 |
.partitiondetection.enabled | Controls detection of network partitioning. Ignored for Volt V!4+ (always enabled) | true |
.paths.commandlog.path | Directory path for command log | /pvc/voltdb/voltdbroot/command_log |
.paths.commandlogsnapshot.path | Directory path for command log snapshot | /pvc/voltdb/voltdbroot/command_log_snapshot |
.paths.droverflow.path | Directory path for disaster recovery overflow | /pvc/voltdb/voltdbroot/dr_overflow |
.paths.exportcursor.path | Directory path for export cursors | /pvc/voltdb/voltdbroot/export_cursor |
.paths.exportoverflow.path | Directory path for export overflow | /pvc/voltdb/voltdbroot/export_overflow |
.paths.largequeryswap.path | Directory path for large query swapping | /pvc/voltdb/voltdbroot/large_query_swap |
.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). | /pvc/voltdb/voltdbroot/snapshots |
.security.enabled | Controls whether user-based authentication and authorization are used | false |
.security.ldap.group | List of LDAP groups and their mapping to VoltDB roles | [ ] |
.security.ldap.group.name | Distinguished name of LDAP group | "" |
.security.ldap.group.nickname | Arbitrary but unique name for this group entry (Volt V14+) | name/role |
.security.ldap.group.role | Comma-list of Volt roles equivalent to this LDAP group | "" |
.security.ldap.groupclass | Name of the LDAP schema's objectClass defining a group of users | "groupOfUniqueNames" |
.security.ldap.groupmemberid | Name of the LDAP schema's objectClass defining a group of users | "uniqueMember" |
.security.ldap.password | Password corresponding to LDAP server username, required | "" |
.security.ldap.rootdn | Distinguished Name of the root of the LDAP schema that defines users and groups, required | "" |
.security.ldap.server | URL for LDAP server, required; as 'ldap://server:port', or 'ldaps://server:port', port optional | "" |
.security.ldap.ssl.truststore.file | Truststore file used to validate LDAPS server certificate (Java KeyStore format) | "" |
.security.ldap.ssl.truststore.password | Password for LDAP truststore file | "" |
.security.ldap.timeout | Timeout, in seconds, for requests to the LDAP server | 10 |
.security.ldap.user | Username used by VoltDB for read-only access on LDAP server, required | "" |
.security.ldap.userclass | Name of the LDAP schema's objectClass containing user information | "inetOrgPerson" |
.security.ldap.useruid | Name of the LDAP attribute in the userObjectClass that should contain the username provided by the VoltDB client | "uid" |
.security.provider | Sets authentication provider as hash (local) or ldap (using a customer-specified LDAP/LDAP server) | hash |
.snapshot.enabled | Enable/disable periodic automatic snapshots | true |
.snapshot.frequency | Frequency of automatic snapshots (in s,m,h) | 24h |
.snapshot.prefix | Unique prefix for snapshot files | AUTOSNAP |
.snapshot.retain | Number of snapshots to retain | 2 |
.snmp.authkey | SNMPv3 authentication key if protocol is not NoAuth | voltdbauthkey |
.snmp.authprotocol | SNMPv3 authentication protocol. One of: SHA, MD5, NoAuth | SHA |
.snmp.community | Name of SNMP community | public |
.snmp.enabled | Enables or disables use of SNMP | false |
.snmp.privacykey | SNMPv3 privacy key if protocol is not NoPriv | voltdbprivacykey |
.snmp.privacyprotocol | SNMPv3 privacy protocol. One of: AES, DES, 3DES, AES192, AES256, NoPriv | AES |
.snmp.target | Host name or IP address, and optional port (default 162), for SNMP server | "" |
.snmp.username | Username for SNMPv3 authentication; else SNMPv2c is used | "" |
.ssl.dr | Extends TLS/SSL security to the DR port (5555). | false |
.ssl.enabled | Enable or disable TLS/SSL on the cluster. Other properties control activation of TLS/SSL for specific ports and features. | false |
.ssl.external | Extends TLS/SSL security to all external ports (default admin 21211, client 21212). | false |
.ssl.internal | Extends TLS/SSL security to the internal port (default 3021). | false |
.ssl.keystore.file | Keystore file for cluster, in Java Key Store format; ignored if sslSecret is used | "" |
.ssl.keystore.password | Password for VoltDB keystore file | "" |
.ssl.sslSecret.certSecretName | Pre-made secret containing keystore and truststore data, optionally including passwords | "" |
.ssl.sslSecret.passwordSecretName | Pre-made secret containing password for keystore/truststore, if password is not in the secret named by certSecretName | "" |
.ssl.truststore.file | Truststore file, in Java Key Store format; ignored if sslSecret is used | "" |
.ssl.truststore.password | Password for VoltDB truststore file | "" |
.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. | 60 |
.systemsettings.compaction.interval | Interval to indicate how often memory compaction should run (seconds) | 60 |
.systemsettings.compaction.maxcount | Set a target block count compaction should try and achieve if there is memory fragmentation | 1 |
.systemsettings.elastic.duration | Target value for the length of time each rebalance transaction will take (milliseconds) | 50 |
.systemsettings.elastic.throughput | Target value for rate of data processing by rebalance transactions (MB) | 2 |
.systemsettings.flushinterval.dr.interval | Interval for flushing DR data (milliseconds) | 1000 |
.systemsettings.flushinterval.export.interval | Interval for flushing export data (milliseconds) | 4000 |
.systemsettings.flushinterval.minimum | Interval between checking for need to flush (milliseconds) | 1000 |
.systemsettings.priorities.batchsize | Modifies priority scheduling algorithm to execute multiple requests before rescheduling | 25 |
.systemsettings.priorities.dr.priority | Priority for DR requests (1-8, 1 is highest priority) | 5 |
.systemsettings.priorities.enabled | Enables priority scheduling of requests by VoltDB cluster (true/false) | false |
.systemsettings.priorities.maxwait | Modifies priority scheduling by setting a limit on time waiting while higher priority requests execute (millisecs) | 1000 |
.systemsettings.priorities.snapshot.priority | Priority for snapshot requests (1-8, 1 is highest priority) | 6 |
.systemsettings.procedure.copyparameters | If set, mutable array parameters should be copied before processing | true |
.systemsettings.procedure.loginfo | Threshold for long-running task detection (milliseconds) | 10000 |
.systemsettings.query.timeout | Timeout on SQL queries (milliseconds) | 10000 |
.systemsettings.resourcemonitor.disklimit.commandlog.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.commandlog.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.commandlogsnapshot.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.commandlogsnapshot.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.droverflow.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.droverflow.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.exportoverflow.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.exportoverflow.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.snapshots.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.snapshots.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.topicsdata.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.topicsdata.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.frequency | Interval between Resource Monitor resource checks (seconds) | 60 |
.systemsettings.resourcemonitor.memorylimit.alert | Alert level for memory use (in GB or as percentage) | 70% |
.systemsettings.resourcemonitor.memorylimit.size | Limit on memory use (in GB or as percentage) | 80% |
.systemsettings.resourcemonitor.memorylimit.compact | Enable memory compaction | true |
.systemsettings.snapshot.priority | Delay factor for snapshot work; larger values cause longer waits between bursts of execution. Ignored if systemsettings.priorities.enabled is true. | 6 |
.systemsettings.snapshot.autotune.enabled | Autotuning for snapshot work (for beta test only, in 14.1.0) | false |
.systemsettings.temptables.maxsize | Limit the size of temporary database tables (MB) | 100 |
.task.mininterval | Task scheduling parameter | 0 |
.task.maxfrequency | Task scheduling parameter | 0.0 |
.task.threadpools | Threadpools available for task execution | [ ] |
.task.threadpools.host.size | Threadpool host size | 0 |
.task.threadpools.partition.size | Threadpool partition size | 0 |
.threadpools | List of thread pools to create | [ ] |
.threadpools.pool.name | Thread pool name | "" |
.threadpools.pool.size | Thread pool size | "" |
.topics.broker.properties | Kafka topics: broker configuration properties | [ ] |
.topics.broker | Kafka topics: broker configuration | `` |
.topics.enabled | Kafka topics: enabled or not (supported since V11) | true |
.topics.threadpool | Kafka topics: threadpool to use | `` |
.topics.topic.allow | List of roles allowed to access the topic | `` |
.topics.topic.format | Format of topic message | `` |
.topics.topic.name | Topic name | `` |
.topics.topic.opaque | Is this an opaque topic? | false |
.topics.topic.priority | Priority for topics requests (if priority scheduling is enabled) | 4 |
.topics.topic.procedure | Procedure to invoke upon getting message | `` |
.topics.topic.properties | Topic configuration properties | [ ] |
.topics.topic.retention | Topic retention policy | `` |
.topics.topic | List of topics | [ ] |
.users.expires | Expiration date for this user account | None |
.users.name | A VoltDB user name | "" |
.users.password | User password | "" |
.users.plaintext | If false, password was pre-hashed | false |
.users.roles | Comma-list of roles assigned to user | "" |
.users | List of VoltDB users to be added to the deployment | [ ] |