New Release (December 2012)

The H-Store project is pleased to announce the release of the latest version of its high-performance, distributed OLTP database management system. This version consists of mostly stability, performance, and memory improvements. New features include more aggressive speculative execution of single-partition transactions, improved internal statistics gathering and reporting for benchmarks. We have also added over 200 new test cases for H-Store. As a result, this release is dedicated to the memory of Aaron Elmore.

The next release in early 2013 will contain significant new research features.

Major highlights of this release:

  1. Rewrote incoming network request processing, transaction queue processing, and execution flow path. This greatly improves the performance of a single HStoreSite on multi-core nodes, reduces the amount of memory used by each HStoreSite instance, and improves server-side connection throttling. [54e2df0] [668e7d5] [bcc481f] [ce0d3fd]
  2. Improved performance of command logging (i.e., op log) and fixed a rare dead-lock problem. [0e9c385d] [cff105d] [0e9c385]
  3. Integrated new Speculative Execution Scheduler to find non-conflicting transactions to execute whenever a distributed transaction is stalled at a partition. The project compiler now automatically computes the read-write and write-write conflicts between the queries in each stored procedure. [68576a3] [6795bb2]
  4. Mispredicted transactions do not count queries against replicated tables or secondary indexes when computing which partition to redirect the transaction request. This makes the TM1/TATP benchmark entirely single-partitioned and greatly improves performance. [9a9ef76b]
  5. Added the ability to enable/disable JVM asserts for either the database cluster nodes or the benchmark framework using the new site.jvm_asserts and client.jvm_asserts parameters. [f21a8f6]
  6. New client-side benchmark result output options. This allows the BenchmarkFramework to automatically retrieve CSV files from H-Store’s internal statistics catalog. [08d310a] [52ab623] [1038ded] [f47ebff]
  7. New @GetConfiguration and @SetConfiguration system procedures to retrieve/manipulate HStoreConf parameters at run time. [cae1f0a] [ab4f5c0]
  8. The default version of the JVM used in H-Store is now Java 1.7. This fixes a bug in Java 1.6 where the transaction prediction models that causes the JVM to SIGSEV. [945f590] [5b7f6a79].

The source code for this release can be downloaded via Github: