Chapter 5. Upgrading to Volt Active Data V10


VoltDB Home » Documentation » Upgrade Guide

Chapter 5. Upgrading to Volt Active Data V10

This chapter describes what new features are introduced in V10.0. V10.0 does not require any changes to client applications or databases prior to upgrading.

5.1. What's New in Volt V10.0

Volt 10.0 is a major release incorporating features from recent updates plus new capabilities. The major new features in V10.0 include:

  • New Volt Operator for Kubernetes — Volt now offers a complete solution for running Volt databases in a Kubernetes cloud environment. Volt V10.0 provides managed control of the database startup process, a new Volt Operator for coordinating cluster activities, and Helm charts for managing the relationship between Kubernetes, Volt and the Operator. The Volt Kubernetes solution is available to Enterprise customers and includes support for all Volt functionality, including cross data center replication (XDCR). See the Volt Kubernetes Administrator's Guide for more information.

  • New Prometheus agent for Volt — For customers who use Prometheus to monitor their systems, Volt now provides a Prometheus agent that can collect statistics from a running cluster and make them available to the Prometheus engine. The Prometheus agent is available as a Kubernetes container or as a separate process that can either run on one of the Volt servers or remotely and makes itself available through port 1234 by default. See the README file in the /tools/monitoring/prometheus folder in the directory where you install Volt for details.

  • Enhancements to Export — Recent updates to export provide significant improvements to reliability and performance. The key advantages of the new export subsystem are:

    • Better throughput — Initial performance tests demonstrate significantly better throughput on export queues using the new subsystem over previous versions of Volt.

    • Adjustable thread pools — The new subsystem let's you set the thread pool size for export as a whole or to define thread pools for individual connectors.

    • Fewer duplicate rows — When cluster nodes fail and rejoin the cluster, the export subsystem resubmits certain rows to ensure they are delivered. The new subsystem keeps better track of the acknowledged rows and does not need to send as many duplicates to maintain the same level of durability.

  • Improved license management — Starting with Volt V10.0, specifying the product license has moved from the voltdb start command to the voltdb init command. In other words, you only have to specify the license once, when you initialize the database root directory, rather than every time you start the database. When you do specify the license on the init command, it is stored in the root directory the same way the configuration is.

    The same rules apply about the default location of the license as before. So if you store your license in your current working directory, your home directory, or the /voltdb subfolder where Volt is installed, you do not need to include the --license argument when initializing the database. Also note that the --license argument on the voltdb start command is now deprecated but still operational. So if you have scripts to start Volt that include --license on the start command, they will continue to work. However, we recommend you change to the new syntax whenever convenient because support for voltdb start --license may be removed in some future major release.

  • Support for RHEL and CentOS V8 — After internal testing and validation, RHEL and CentOS V8 are now supported platforms for production use of Volt.