The new features in VoltDB V15.0 add capabilities without altering the behavior of existing applications. However, there are a few changes that require action for users upgrading from earlier versions. Existing customers should take note of the following changes:
IMPORTANT: VoltDB V15 Requires the Volt Operator version 3.6 or Later on Kubernetes
The new release of VoltDB requires a recent update to the Volt Operator when upgrading. Normally, this happens by
default. When you use the helm upgrade command, Helm automatically upgrades the Volt Operator, and
chart, to the latest version before performing the software upgrade. However, this will not happen if you explicitly
identify a version for the chart using the --version
argument. Although not recommended, if you must
specify a chart version when upgrading to VoltDB V15, be sure to specify version 3.6 or later.
Changes to YAML Properties on Bare Metal
To unify the YAML properties for both bare metal and Kubernetes, a few of the existing properties for bare metal had to be modified. This means the old property names and settings are no longer supported internally and the new names and settings are accepted in their stead. To simplify the transition, the old properties are still accepted as input when upgrading an existing database or initializing a new cluster. However, these old properties are immediately translated to their new equivalent and stored as such internally in the servers. In other words, if you initialize and start the cluster using the old property name, when you do a get of the configuration, you will only receive the new property names and settings. Therefore, we strongly recommend you update any YAML configuration files you areusing to include the new syntax.
The properties names that have been deprecated and the replacement properties are listed in the following table.
Table 10.1. Changes to Bare Metal Configuration Properties
V14 Property | V15 Property |
---|---|
deployment.avro.properties.property | deployment.avro.properties.properties |
deployment.dr.connection.preferred-source | deployment.dr.connection.preferredSource |
deployment.export.configuration | deployment.export.configurations |
deployment.export.configuration[target].property | deployment.export.configurations[target].properties |
deployment.import.configuration | deployment.import.configurations |
deployment.import.configuration[target].format-property | deployment.import.configurations[target].formatProperties |
deployment.import.configuration[target].property | deployment.import.configurations[target].properties |
deployment.partition-detection | deployment.partitiondetection |
deployment.security.ldap.ssl.path | deployment.security.ldap.ssl.file |
deployment.ssl.keystore.path | deployment.ssl.keystore.file |
deployment.ssl.truststore.path | deployment.ssl.truststore.file |
deployment.systemsettings.resourcemonitor.disklimit.feature.* | deployment.systemsettings.resourcemonitor.disklimit.* |
deployment.task.threadpools.host.* | deployment.task.host.* |
deployment.task.threadpools.partition.* | deployment.task.partition.* |
deployment.threadpools.pools.* | deployment.threadpools.* |
deployment.topics.broker.property | deployment.topics.broker.properties |
deployment.topics.topic[topicname].property | deployment.topics.topic[topicname].properties |
deployment.users.user.* | deployment.users.* |
In addition, a number of properties that supported a property name followed by an array of name/value pairs have
been changed to a simple list of the item name as the property with the "value" as the property value. For example, the
following shows the V14 and V15 representations of the deployment.topics.broker.properties
property:
Old V14 Syntax:
deployment: topics: broker: property: - name: network.thread.count value: 6 - name: cluster.id value: 42
New V15 Syntax:
deployment: topics: broker: properties: network.thread.count: 6 cluster.id: 42
This change applies to the following properties:
deployment.avro.properties
deployment.export.configurations[target].properties
deployment.import.configurations[target].formatProperties
deployment.import.configurations[target].properties
deployment.topics.broker.properties
deployment.topics.topic[topicname].properties
Finally, for the system settings disk limits by feature, the feature and subproperties have been changed from a list to the feature name as a property with its attributes as subproperties. The following example demonstrates the new V15 syntax:
deployment: systemsettings: resourcemonitor: disklimit: commandlog: size: 2G alert: 1G commandlogsnapshot: size: 2G alert: 1G
Deprecated Features Removed
As mentioned above, several obsolete technologies that have already been deprecated have now be removed from the product and can no longer be used in V15. Specifically:
Passive (master/replica) database replication
SHA-1 hashing of passwords, in both server and client
The querystats directive in sqlcmd and the @QueryStats system procedure