* master:
[core] Fixing squid:S1319 - Declarations should use Java collection interfaces such as "List" rather than specific implementation classes such as "LinkedList". (manolama - updated bindings added since the PR)
[core] Use longs instead of ints to support larger key spaces. Changed int to long in Measurements code to support large scale workloads. (manolama - fixed checkstyle errors)
[core] Export totalHistogram for HdrHistogram measurement
[core] Add an operation enum to the Workload class. This can eventually be used to replace the strings.
[core] Add a Fisher-Yates array shuffle to the Utils class.
[core] Fix an issue where the threadid and threadCount were not passed to the workload client threads. Had to use setters to get around the checkstyle complaint of having too many parameters.
Upgrading googlebigtable to the latest version. The API used by googlebigtable has had quite a bit of churn. This is the minimal set of changes required for the upgrade.
[geode] Update to apache-geode 1.2.0 release
[core] Update to use newer version of Google Cloud Spanner client and associated required change
[core] Add a reset() method to the ByteIterator abstract and implementations for each of the children. This lets us re-use byte iterators if we need to access the values again (when applicable).
[hbase12] Add HBase 1.2+ specific client that relies on the shaded client artifact provided by those versions. (#970)
[distro] Refresh Apache licence text (#969)
[memcached] support binary protocol (#965)
[accumulo] A general "refresh" to the Accumulo binding (#947)
[cloudspanner] Add binding for Google's Cloud Spanner. (#939)
[aerospike] Change the write policy to REPLACE_ONLY (#937)
Today when running the Elasticsearch binding in embedded mode, a
temporary directory is used. This can be confusing for running usual
load-then-run style workflows because the temporary directory will not
be the same between runs. Instead, we should just require a directory
when running in embedded mode and this commit makes this the case.
This commit adds notes to the Elasticsearch documentation outlining the
difference between embedded and remote modes, and adds an example on
using remote mode.
This commit modifies the Elasticsearch client to return Status.NOT_FOUND
when an operation fails because the document requested does not
exist. This modifies the previous behavior which would return
Status.ERROR in this case.
This commit also moves the statements that would return Status.ERROR
into the corresponding catch blocks so that it is clear that
Status.ERROR is only being returned on error paths.
This commit fixes an issue with the index creation logic when the
elasticsearch.newdb flag is set to true. Namely, when running in local
mode the index would never exist (since the node always starts with a
clean temporary directory) but with elasticsearch.newdb an attempt would
be made to delete the index which would cause the workload to fail.
This commit also does a cleanup of the index creation logic using an
explicit create index request and passing the index settings along as
part of that index creation.
- define checkstyle configs in as few places as possible
- use checkstyle:check since it has defaults that match what we want (fail after logging to console)
- modules that have current failures set property checkstyle.failOnViolation to false.
Replaces numeric status codes with a canonical set of Status objects,
each with a short name and description.
Bindings with more specific errors (e.g., timeouts) return additional
statuses.
This changes the default output from messages like:
[UPDATE], Return=0, 511
To:
[UPDATE], Return=OK, 511