YCSB 0.12.0
Incompatible Changes
- None
Known Issues
- The Cassandra CQL clients do not use prepared statements. (see #458)
- The mongodb binding does not honor the maxPoolSize=XX parameter and instead opens a connection per client thread. (see #317)
- Several unsupported datastore bindings are still listed in CLI help. (see #328)
- The HBase binding does not report a clear error message on encountering version incompatibility. (see #343)
- Datastore drivers that lack timeouts may result in YCSB failing to honor the maxexecutiontime parameter. (see #618)
- Redis Scans are not performant. (see #636)
- "Latest" distribution does not work properly on update transactions. (see #640)
- Accumulo client currently always claims success even when the record it's supposed to operate on (e.g. for a read) doesn't exist. (see #699)
- JDK 9 is not supported. (see #704)
- The Rados client is missing from the properties file for new platform-specific script. (see #790)
Changes
- #837 [azuretablestorage] - Added Azure Table Storage binding
- #776,#850 [cassandra] - Test fixes - Sigar test dependency and logging
- #863 [core] - Support fractional percentile metrics in output format
- #833 [googledatastore] - Upgrade to version v1
- #842,#872 [jdbc] - JDBC fixes
- #848 [orientdb] - Upgrade to 2.2.10 and multithreading bug fixes
- #756 [rest] - Added REST web services binding
- #847 [solr] - Upgrade to 5.5.3
- #849 [solr6] - Add Solr 6 binding
- #852 [packaging] - Fix distribution of bindings.properties
- #712,#854 JDK 9 support fixes
Tested Datastores
Datastore bindings that have been changed in this release and verified as working:
- Apache Solr 5.5.3 (via
solr
binding). - 🆕 Apache Solr 6.3.0 (via
solr6
binding). - 🆕 azuretablestorage (via
azuretablestorage
binding). - googledatastore (via
googledatastore
binding). - [jdbc] JDBC on MySQL and Phoenix (via
jdbc
binding). - [rest] REST on Tomcat (via
rest
binding). - OrientDB 2.2.10 (via
orientdb
binding).
Supported bindings, tested in previous releases, unchanged in this release:
- Aerospike (via
aerospike
binding). - Amazon S3 (via
s3
binding). - Apache Accumulo 1.6.0 (via
accumulo
binding). - Apache Geode (incubating) 1.0.0-incubating.M3 (via
geode
binding). - Apache HBase 0.98 (via
hbase098
binding). - Apache HBase 1.0.0 (CDH5.5.2) (via
hbase10
bindings). - Apache Kudu 0.9.0-incubating (via
kudu
binding) - ArangoDB 2.8.7 (via
arangodb
binding). - Async HBase 1.7 (via
asynchbase
binding). - Couchbase2 4.0 and 4.5 (via
couchbase2
binding). - DynamoDB using AWS SDK 1.10.48 (via
dynamodb
binding). - Elasticsearch 2.4 (via
elasticsearch
binding). - Google Bigtable (via
googlebigtable
binding). - Google Bigtable accessing using the HBase client (via
hbase10
binding) - Memcached 1.4.4 (via
memcached
binding). - Riak 2.x.y (via
riak
binding). - Tarantool 1.6.6-249, 1.6.8, 1.7-alpha (via
tarantool
binding).
Untested Datastores:
- Apache Cassandra 2.0+ (via
cassandra-cql
binding) - Apache Cassandra version 3+ (via
cassandra-cql
binding) - Apache HBase prior to 0.98 (via
hbase094
binding). - HyperTable (via
hypertable
binding). - Infinispan (via
infinispan
andinfinispan-cs
bindings) - Mapkeeper (via
mapkeeper
binding) - NoSQLDB (via
nosqldb
binding)
Framework Fixes and Changes
- [core] Support fractional percentile metrics in output format. (see #863)
- [core] JDK 9 support fixes. (see #712 and #854)
- [packaging] Fix distribution of bindings.properties. (see #852)
Thanks
This release was tested by the following contributors: @joshelser, @risdenk, @shivam-maharshi, @xiangcong, and @yuyantingzero. Their efforts are highly appreciated.