Special Considerations for Existing 7.x Customers Upgrading to VoltDB 8.x

Documentation

VoltDB Home » Documentation » Special Considerations for Existing 7.x Customers Upgrading to VoltDB 8.x

Special Considerations for Existing 7.x Customers Upgrading to VoltDB 8.x


Product

VoltDB

Version

7.x

What's New in VoltDB V8

VoltDB 8 is a major release incorporating features from recent point releases plus new capabilities. The major new features in V8 include:

  • More Network Security — VoltDB now provides SSL/TLS encryption as an option on all inter-node and inter-cluster communication, including internal, external, and DR ports. See the chapter on "Security" in the Using VoltDB manual for details.

  • User-Defined Functions — It is now possible to define and declare your own functions for use in SQL statements. User-defined functions are written in Java and declared using the CREATE FUNCTION statement. See the chapter on "Creating Custom SQL Functions" in the VoltDB Guide to Performance and Customization manual for details.

  • Common Table Expressions — VoltDB SQL queries can now include common table expressions, using the WITH clause. Common table expressions help organize complex SQL queries and make them easier to read. VoltDB also supports recursive common table expressions, making it possible to evaluate complex tree and graph structures within a single statement. See the description of the SELECT statement in the Using VoltDB manual for details.

  • Kafka Enhancements — VoltDB now supports the latest releases of Apache Kafka, by default. The Kafka export connector continues to support all Kafka versions starting with 0.8.2. For import, the Kafka import connector and the kafkaloader command line utility now support Kafka 0.10.2 and later, up through and including the recently released version 1.0.0. For customers still using earlier versions of Kafka, Kafka 8 support is available as a configurable option for both the import connector and a legacy kafkaloader8 command line tool.

  • Python V3 API — VoltDB now supports the use of Python V3.x for developing client applications. The VoltDB Python client library (available from GitHub) supports both Python 2.7 and 3.x.

Special Considerations for Existing Customers

Most of the new features and capabilities in VoltDB V8.0 do not impact existing applications. However, there are a few changes that do require minor changes to the configuration when upgrading from earlier versions. Existing customers should take note of of the following changes:

  • Change to default Kafka versions for import

    For the kafka import connector and the kafkaloader command line utility, the default Kafka version has changed from 0.8.2 to 0.10.2 or later. For customers already using Kafka 0.10.2 or later, there are no changes needed to their configuration, scripts, or applications. For customers who wish to continue using the older Kafka version 0.8.2, they will need to add the attribute version="8" to the import connector configuration and/or use the command line utility kafkaloader8 instead of the default kafkaloader.

  • The "elastic" attribute removed from <cluster>

    An artifact of an old feature provided for backwards compatibility, the elastic attribute of the <cluster> element in the configuration file was disabled and deprecated several years ago. It has now been removed. Although it is unlikely any still exist, configuration files that do include this attribute will now fail to parse. Simply remove the attribute and try again.

  • The <consistency> element removed from the configuration file

    The <consistency> element was recently deprecated, since "fast" read consistency no longer provides any significant performance improvement over "safe" mode but does introduce potential risks during failure scenarios. It has now been removed from the allowable configuration file syntax. If you included <consistency> in your configuration file, please remove it before starting a VoltDB 8.0 cluster.

  • Old commands for starting VoltDB are no longer supported

    VoltDB 6.6 introduced two new integrated commands, init and start, for starting VoltDB servers. At that time the old commands (add, create, recover, and rejoin) were deprecated. The old commands have now been removed from the product. If you still use the older commands, please update your scripts to use the new commands as described in the chapter "Starting the Database" in the Using VoltDB manual.