Java C++ JavaScript Python Groovy HTML Other
Latest commit 25544c6 Oct 28, 2016 @wolffcm wolffcm committed on GitHub Unconditionally and deterministically force shutdown of LocalCluster …
…instances in JUnit framework (#4022)

* Endeavor to shut down voltdbipc properly in memcheck mode

Fix EEProcess hanging when no client in test

Fix other related tests

Adding comments

* Process valgrind errors in LocalCluster

This is done so that we can catch memory errors produced by
out-of-process servers.

Add null pointer check

Disable tests that crash from running in memcheck builds.

Fix a few tests, remove unneeded valgrind errors list

Modify some tests that use LocalCluster

If they don't inherit from RegressionSuite, make them be a JUnit
4-style unit test that inherits from JUnit4LocalCluster test.

* Oops, forgot to add new class

* Add license to new file

* Fix a test
Failed to load latest commit information.
bin ENG-11272 multiple small tickets in one (#3993) Oct 20, 2016
doc VMC-310 Removed Overlay-Seconds download from Command Log Statistics. ( Oct 13, 2016
examples Merge remote-tracking branch 'origin/master' into ENG-10760-RankExample Sep 21, 2016
lib ENG-11055: Infrastructure for @Rebalance Oct 20, 2016
src Unconditionally and deterministically force shutdown of LocalCluster … Oct 28, 2016
tests Unconditionally and deterministically force shutdown of LocalCluster … Oct 28, 2016
third_party Rework json writer before performance tweak. (#4021) Oct 28, 2016
tools jenkins system test kit properties writer: get branch ids from enviro… Oct 24, 2016
voltdb ENG-10358, add diagnostic code to elastic join path. (#3785) Jul 27, 2016
.gitignore ENG-10633: fix crash on export always existed why would it show up now?? Jun 17, 2016
LICENSE ENG-3012, ENG-4073: Change GPL to AGPL where used. Updated (c) to 2013. Jan 3, 2013 Language tweaks from AGD for new readme. Feb 1, 2016
README.thirdparty ENG-10521 add support to start --add cli (join) (#3834) Aug 15, 2016
build-client.xml ENG-10968 run-everywhere (#3843) Aug 24, 2016
build-importers.xml ENG-11295 flesh out kafka importer import packages Oct 17, 2016 Add support for dense rank. Sep 30, 2016
build.xml ENG-11136 simple readme for the kafka groovy tools (#3924) Sep 21, 2016 Add support for dense rank. Sep 30, 2016
microbenchmark-config.xml Initialize repository. Feb 15, 2010
template.classpath ENG-10521 add support to start --add cli (join) (#3834) Aug 15, 2016
version.txt Set Version 6.7 Sep 16, 2016

What is VoltDB?

Thank you for your interest in VoltDB!

VoltDB is a horizontally-scalable, in-memory SQL RDBMS designed for applications that have extremely high read and write throughput requirements.

Building VoltDB

Information on building VoltDB from this source repository is maintained in a GitHub wiki page available here:

First Steps

From the current directory, to start a single-server VoltDB database.

bin/voltdb create [--background]

To start a SQL console to enter SQL DDL, DML or DQL:


To launch the web-based VoltDB Management Console (VMC), open a web browser and connect to localhost on port 8080 (unless there is a port conflict): http://localhost:8080.

To stop the running VoltDB cluster, use CTRL-C for foreground VoltDB, and use the VoltDB Admin CLI for backgrounded or multi-node clusters:

bin/voltadmin shutdown

You may also want to optionally add the bin directory to your PATH environment variable. This will allow you to use VoltDB and its tools from any directory.

Further guidance can be found in the tutorial: For more on the CLI, see the documentation:

Next Steps


You can find application examples in the “examples” directory inside this VoltDB kit.

The Voter app (“examples/voter”) is a great example to start with. See the README to learn what it does and how to get it running, or watch this 5 minute video demonstration of the Voter app:

The App Gallery has more information on additional examples, some in the kit and some on GitHub.


The VoltDB Tutorial will walk you through building and running your first VoltDB application.


The VoltDB User Guide and supporting documentation is comprehensive and easy to use. It’s a great place for broad understanding or to look up something specific.

Product Overview

The VoltDB Product page contains info at a higher level. This page has in-depth descriptions of features that explain not just what, but why. It also covers use cases and competitive comparisons.

Go Full Cloud

For information on using VoltDB virtualized, containerized or in the Cloud, see the the VoltDB website.

What's Included

If you have installed VoltDB from the distribution kit, you now have a directory containing this README file and several subdirectories, including:

  • bin - Scripts for starting VoltDB, bulk loading data, as well as interacting with and managing the running database. Including:
    • bin/voltdb - Start a VoltDB process.
    • bin/voltadmin - CLI to manage a running cluster.
    • bin/sqlcmd - SQL console.
  • doc - Documentation, tutorials, and java-doc
  • examples - Sample programs demonstrating the use of VoltDB
  • lib - Third party libraries
  • tools - XML schemas, monitoring plugins, and other tools
  • voltdb - the VoltDB binary software itself including:
    • license.xml - An embedded trial license.
    • log4j files - Logging configuration.
    • voltdbclient-version.jar - Java/JVM client for connecting to VoltDB, including native VoltDB client and JDBC driver.
    • voltdb-version.jar - The full VoltDB binary, including platform-specific native libraries embedded within the jar. This is a superset of the client code and can be used as a native client driver or JDBC driver.

Commercial VoltDB Differences

VoltDB offers a pre-built binary distribution of VoltDB under a commercial license. It can be downloaded from the VoltDB website. This download includes a 30 day trial license.

When to use this open-source version:

  • When developing applications (as long as they don't need VoltDB Export).
  • When performance testing in non-redundant configurations.
  • When reading or modifying source code.

When to use the commercial version:

  • When disk persistence is required.
  • When the VoltDB Export feature is required.
  • When high availability features like redundant clustering, live node rejoin, and multi-datacenter replication are required.

Getting Help & Providing Feedback

If you have any questions or comments about VoltDB, we encourage you to reach out to the VoltDB team and community.

  • VoltDB Forums - Create threads, post responses and search existing posts on our community forums at
  • VoltDB Community Slack Channel - Get an invite to chat with community members and the VoltDB team at


This program is free software distributed under the terms of the GNU Affero General Public License Version 3. See the accompanying LICENSE file for details on your rights and responsibilities with regards to the use and redistribution of VoltDB software.