Releases: brianfrankcooper/YCSB
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.
0.12.0 Release Candidate 1
UPPERCASE WARNING: THIS IS A RELEASE CANDIDATE AND IS NOT INTENDED FOR DOWNSTREAM USE.
This source is the first release candidate for version 0.12.0. The associated issue #873:
- provides the list of changes since version 0.11.0
- contains testing instructions
- is the recommended location for leaving any feedback
YCSB 0.11.0
Incompatible Changes
- [cassandra] Deprecated Cassandra client removed. (see #794)
- [cassandra] Rename of cassandra2-cql client to cassandra-cql.
- [couchbase2] Deprecated couchbase client in favor of couchbase2. (see #791)
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)
Tested Datastores
Datastore bindings that have been changed in this release and verified as working:
- 🆕 ArangoDB 2.8.7 (via
arangodb
binding).- [arangodb] Support for ArangoDB. (see #749)
- Apache Geode (incubating) 1.0.0-incubating.M3 (via
geode
binding).- [geode] Update to Apache Geode (incubating) to improve memory footprint. (see #828)
- Couchbase2 4.0 and 4.5 (via
couchbase2
binding). - Elasticsearch 2.4 (via
elasticsearch
binding).- [elasticsearch] Various Elasticsearch improvements. (see #800)
- Apache Kudu 0.9.0-incubating (via
kudu
binding)- [kudu] Update Kudu binding to 0.9.0. (see #774)
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 HBase 0.98 (via
hbase098
binding). - Apache HBase 1.0.0 (CDH5.5.2) (via
hbase10
bindings). - Apache Solr 5.4.0 (via
solr
binding). - Async HBase 1.7 (via
asynchbase
binding). - DynamoDB using AWS SDK 1.10.48 (via
dynamodb
binding). - Google Bigtable (via
googlebigtable
binding). - Google Bigtable accessing using the HBase client (via
hbase10
binding) - Google Cloud Datastore (via
googledatastore
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) - OrientDB 2.1.2 (via
orientdb
binding).
Framework Fixes and Changes
- [core] Fix issue with hdrhistogram+raw. (see #788)
- [core] Performance optimizations for BasicDB and RandomByteIterator. (see #815)
Thanks
This release was tested by the following contributors: @charliemblack, @danburkert, @daschl, @jasontedor and @smallsmallc. Their efforts are highly appreciated, as also those of @busbey who helped facilitate the release, as usual.
0.11.0 Release Candidate 1
UPPERCASE WARNING: THIS IS A RELEASE CANDIDATE AND IS NOT INTENDED FOR DOWNSTREAM USE.
This source is the first release candidate for version 0.11.0. The associated issue #827:
- provides the list of changes since version 0.10.0
- contains testing instructions
- is the recommended location for leaving any feedback
YCSB 0.10.0
Incompatible Changes
- ❗ mongodb-async now returns status OK for all operations when at write concern NONE, rather than the previous NOT_FOUND. See #759 for details.
Known Issues
- The Cassandra CQL clients do not use prepared statements (#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 (#636)
- "Latest" distribution does not work properly on update transactions (#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 (#699)
- JDK 9 is not supported (#704)
- The Rados client is missing from the properties file for new platform-specific scripts. #790
Tested Datastores
Datastore bindings that have been changed in this release and verified as working:
- Couchbase2 4.0 and 4.5 (via
couchbase2
binding). - MongoDB 1.8.5(async only), 2.0.9, 2.2.7, 2.4.14, 2.6.12, 3.0.11, 3.2.4 (via
mongodb
andmongodb-async
bindings). - MySQL 5.5 via its JDBC driver (via
jdbc
binding)- #755 [jdbc] add batched inserts to JDBC binding
- 🆕 PostgreSQL 9.5.2's JDBC4 Driver and MySQL 5.5 (via
jdbc
binding)- #755 [jdbc] add batched inserts to JDBC binding
- 🆕 Rados store from Ceph Jewel 10.2.2 (via
rados
binding) #670
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.M2 (via
geode
binding). - Apache HBase 0.98 (via
hbase098
binding). - Apache HBase 1.0.0 (CDH5.5.2) (via
hbase10
bindings). - Apache Kudu (incubating) (via
kudu
binding). - Apache Solr 5.4.0 (via
solr
binding). - Async HBase 1.7 (via
asynchbase
binding). - DynamoDB using AWS SDK 1.10.48 (via
dynamodb
binding). - Elasticsearch 2.0.2, 2.1.2, 2.2.2, 2.3.2 (via
elasticsearch
binding). - Google Bigtable (via
googlebigtable
binding). - Google Bigtable accessing using the HBase client (via
hbase10
binding) - Google Cloud Datastore (via
googledatastore
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 versions prior to 2.0 (via
cassandra-7
,cassandra-8
,cassandra-10
bindings) - Apache Cassandra 2.0+ (via
cassandra2-cql
binding) - Apache Cassandra version 3+ (via
cassandra2-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) - OrientDB 2.1.2 (via
orientdb
binding).
Framework Changes
Platform specific launching scripts
This release includes a first-pass implementation of Windows and Posix specific launching scripts for YCSB. They can be found along side the normal python script in the bin
directory. Downstream users are encouraged to begin testing use of these scripts, since the Python bin\ycsb
is expected to be removed in a future version. (#737, #777, #784)
Other Changes
- #751 [core] correct calculation of weighted histograms
Packaging Changes
Cassandra2 module included in convenience artifacts
The prebuilt artifact should include the cassandra2 module again. See #766.
Running from source on Windows
The known issue "Running directly from a source checkout on Windows is not supported. (see #335)" should now be solved, so long as downstream users rely on the Windows-specific YCSB launcher bin/ycsb.bat
. See #737 and #777
Thanks
Special thanks for helping to test this release goes out to: @allanbank, @cmatser, @daschl, @jaemyoun, and @sekikn!
0.10.0 Release Candidate 3
UPPERCASE WARNING: THIS IS A RELEASE CANDIDATE AND IS NOT INTENDED FOR DOWNSTREAM USE.
This source is a candidate for release 0.10.0. Please see #772 issue for testing instructions and where to leave your feedback.
Compared to the RC2, this candidate includes
0.10.0 Release Candidate 2
UPPERCASE WARNING: THIS IS A RELEASE CANDIDATE AND IS NOT INTENDED FOR DOWNSTREAM USE.
This source is a candidate for release 0.10.0. Please see #772 issue for testing instructions and where to leave your feedback.
Compared to the RC1, this candidate includes
- #777 [scripts] Add mvn build if necessary for source checkout on windows.
0.10.0 Release Candidate 1
UPPERCASE WARNING: THIS IS A RELEASE CANDIDATE AND IS NOT INTENDED FOR DOWNSTREAM USE.
This source is a candidate for release 0.10.0. Please see #772 issue for testing instructions and where to leave your feedback.
Compared to the previous release, this candidate includes
- #670 [rados] add binding for RADOS of Ceph FS
- #737 [scripts] move to posix and windows specific shell scripts instead of python
- #751 [core] correct calculation of weighted histograms
- #755 [jdbc] add batched inserts to JDBC binding
- #758 [mongodb] added logback.xml to mongodb module
- #759 [mongodb] always return OK status when mongodb-async uses w=0
- #766 [cassandra2] ycsb prebuilt artifact doesn't include cassanda2 module (no commits)
YCSB 0.9.0
Incompatible changes
- ❗ Elasticsearch returns Status.NOT_FOUND instead of Status.ERROR when an item does not exist. See #721.
Known issues
- ❗ The convenience tarball of pre-compiled artifacts is missing the cassandra2 module (#766)
- The Cassandra CQL clients do not use prepared statements (#458).
- The mongodb binding does not honor the maxPoolSize=XX parameter and instead opens a connection per client thread. (see #317)
- Running directly from a source checkout on Windows is not supported. (see #335)
- 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 (#636)
- "Latest" distribution does not work properly on update transactions (#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 (#699)
- JDK 9 is not supported (#704)
Changes
- asyncbase: #718, #714
- couchbase2: #736, #711
- core: #727, #529, #719, #674, #694, #696
- elasticsearch: #721
- geode: #725
- googlebigtable: #734, #698, #690
- googledatastore: #682
- hbase10: #689
- hbase098: #688
- kudu: #720
- riak: #723, #686
- scripts: make bin/ycsb work with Python 2.6 in addition to Python 2.7 (#709)
Tested Databases
Datastore bindings that have been changed in this release and verified as working:
- 🆕 Async HBase 1.7 (via
asynchbase
binding). - Couchbase2 4.1 (via
couchbase2
binding). - Elasticsearch 2.0.2, 2.1.2, 2.2.2, 2.3.2 (via
elasticsearch
binding). - Apache Geode (incubating) 1.0.0-incubating.M2 (via
geode
binding). - Apache HBase 1.0.0 (CDH5.5.2) (via
hbase10
bindings). - Apache Kudu (via
kudu
binding). - 🆕 Google Bigtable (via
googlebigtable
binding). - Google Cloud Datastore (via
googledatastore
binding). - 🆕 Riak 2.x.y (via
riak
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 Cassandra 2.5.5 (via(see #766)cassandra2-cql
binding).- Apache HBase 0.98 (via
hbase098
binding). - Apache Kudu (incubating) (via
kudu
binding). - Apache Solr 5.4.0 (via
solr
binding). - DynamoDB using AWS SDK 1.10.48 (via
dynamodb
binding). - 🆕 Google Bigtable accessing using the HBase client (via
hbase10
binding) - JDBC on MySQL 5.1.73 (via
jdbc
binding). - Memcached 1.4.4 (via
memcached
binding). - MongoDB 1.8.5(async only), 2.0.9, 2.2.7, 2.4.14, 2.6.12, 3.0.11, 3.2.4 (via
mongodb
andmongodb-async
bindings). - Tarantool 1.6.6-249, 1.6.8, 1.7-alpha (via
tarantool
binding).
Untested:
- Apache Cassandra versions prior to 2.0 (via
cassandra-7
,cassandra-8
,cassandra-10
bindings), orCassandra3 (via(see #766).cassandra2-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) - OrientDB 2.1.2 (via
orientdb
binding).
0.9.0 Release Candidate 1
UPPERCASE WARNING: THIS IS A RELEASE CANDIDATE AND IS NOT INTENDED FOR DOWNSTREAM USE.
This is the first release candidate for 0.9.0. Please see tracking issue #740 for this release and leave your comments there.