Major highlights of this release:
- Improved speculative execution of single-partition transactions. All transactions can be speculatively executed whenever a multi-partition is blocking waiting to be executed. Use the site.exec_speculative_execution configuration to enable. (r2137, r2145, r2192)
- New TransactionEstimator can automatically determine whether a transaction is single-partition at runtime. Distributed transactions are executed with the minimum number of partitions. Alternatively, you can use site.exec_force_singlepartitioned to force all transactions to execute as single-partitioned, and any mistakes are automatically rolled back and restarted as multi-partitioned.
- Fixed concurrency/synchronization issues in ProtoRpcChannel/Server and VoltProcedureListener for write available callbacks. (r2183, r2155). Fixed synchronization issues for MarkovPathEstimator and TransactionEstimator (r2198)
- Can now configure output directories for HStoreSite, Dtxn.Coordinator, and Client log files.
- All node.* configuration parameters have been renamed to site.*.
- Fixed a race condition when the middle PlanFragment for three-way joins would not get queued up for all partitions at the same time. This would cause the Dtxn.Coordinator to halt. (r2127)
- Reduced JUnit test time by allowing each test case in a single JVM invocation to reuse benchmark project jar files. (r2139)
The source code for this release can be download via anonymous SVN:
https://database.cs.brown.edu/svn/hstore/tags/release-2011-07
Note also that the supplemental resource files (e.g., sample workload trace logs) have been moved out of the source code repository into a separate external repository:
https://database.cs.brown.edu/svn/hstore-files/