Skip to content

YCSB 0.17.0

Latest
Compare
Choose a tag to compare
@busbey busbey released this 06 Oct 03:56
· 64 commits to master since this release
0.17.0

Downstream users should note that these release notes cover some changes already included in the 0.16.0 non-production release.

Incompatible Changes

  • ‼️ The project's maven coordinates have changed to use group id site.ycsb and Java packages have changed to be in site.ycsb (#1340)
  • ❗ Azure Document DB has been removed (#1295)
  • ❗ JDBC binding now semicolon for sharding (#1233)

Known Issues

  • The mongodb binding does not honor the maxPoolSize=XX parameter and instead opens a connection per client thread. (see #317)
  • Mongodb binding use with AWS DocumentDB requires manually converting SSL CA format (see #1314)
  • Datastore drivers that lack timeouts may result in YCSB failing to honor the maxexecutiontime parameter. (see #618)
  • "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 and JDK 10 are not supported. (see #704)
  • ArangoDB client bindings fail to work with ArangoDB authentication (see #1155)
  • HBase 2.0 client bindings doesn't include an slf4j logging-binding and so doesn't provide log messages from the client library (see #1173)
  • The Accumulo client bindings do not work with kerberos enabled clusters (see #1211)
  • Memcached update deletes all fields except the one updated (see #1358)
  • Data integrity verification doesn't check the number of fields. (see #1359)
  • Workload D reports read failures when used with client side batched inserts (see #1356)

Tested Datastores

Changed in this release and verified to work

Unchanged in this release and previously verified

  • Apache Accumulo 1.9.2 and 1.7.2-cdh5.5.0 (via accumulo1.7 and accumulo1.8)
  • ArangoDB 3.3 and 3.4 (nightly) (via arangodb)
  • Google Cloud Datastore (via googledatastore)
  • MapR 6.0.1 (via maprdb and maprjsondb)
  • Riak 2.x.y (via riak binding).
  • Redis 4.0.9 in non-cluster mode (via redis)
  • REST (via rest binding).
  • Tarantool 1.6.6-249, 1.6.8, 1.7-alpha (via tarantool binding).
  • YugaByte DB 1.0.0 (via cassandra-cql)

Untested Datastores

If you make use of one of these stores and can verify it works, please add a note to #1355

  • Apache Accumulo versions prior to 1.7
  • Apache Cassandra versions prior to 3
  • Apache Solr 5 and 6
  • Cloud Spanner
    • client version bump (#1293)
  • Couchbase versions prior to 4
  • Elastic Search
  • 🆕 Elastic Search 5 REST client (#1231)
  • Google Cloud Bigtable
    • client version bump (#1293)
  • HyperTable
  • Infinispan
  • Mapkeeper
  • memcached
    • work done on logic error where individual fields would not get updated (#1153)
  • NoSQLDB
  • OrientDB
    • client version bump (#1256)
  • Rados
  • Redis versions prior to 4
  • Redis in cluster mode

Framework changes

  • Maven Group Id changed to site.ycsb (#1340)
  • Java packages changed to site.ycsb (#1340)
  • Core and binding-parent artifacts now published to Maven central (#1340)
  • Number of threads used by client is capped by number of operations (#1323)
  • Allow configuration of field names via fieldnameprefix property (#117)
  • JDK 8 or 11 should be used, we no longer test JDK9 or JDK10 (#1253)
  • Improvements to some internal byte iterators (notably Strings) (#1112)
  • Correct configuration of exponential distribution in the Core workloads (#1260)