* Upgrade AWS SDK from version 1.10.48 to 1.11.812.
* Introduce a new configuration parameter, dynamodb.region, which
represents a valid AWS region code (see
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions
for example). If specifying the region, it is not necessary to specify
the dynamodb.endpoint parameter.
* Introduce support for non-standard endpoints. Before this commit,
setting the endpoint to a non-standard one, like a proxy, but
ultimately connecting to a region different from 'us-east-1' would
lead to a credential errors due to bad signature:
ERROR site.ycsb.db.DynamoDBClient
-com.amazonaws.AmazonServiceException: Credential should be scoped to
a valid region, not 'us-east-1'. (Service: AmazonDynamoDBv2; Status
Code: 400; Error Code: InvalidSignatureException;
With this commit, if using a proxy as an endpoint, by setting also the
region via dynamodb.region, it will work with no error.
* Set TCP Keep-Alive to true. Even it makes sense to be used by YCSB, it
apparently doesn't improve performance notably given the connection
reuse that the DynamoDB client is doing.
* Update the example config file with the endpoint and region parameters
and behavior.
- 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.
Extend the dynamoDB client to support the HASH_AND_RANGE primary key
type. The default primary key type remains exactly the same as before:
HASH type. And the default behavior and processing logic also remains
exactly the same as before.
What's added is the support to benchmark a primary key type called
HASH_AND_RANGE which is one of two supported primary key types of
DynamoDB. Knowing the performance characteristics of the HASH_AND_RANGE
key is important for some users because that's the only practical way
for them to get strongly consistent query across multiple items.
See documentation in conf/dynamodb.properties for more details.
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
* remove unused declared deps in a few places
* lex sort modules in top level pom
* update maven plugin versions.
* no more jar-with-dependencies
* set ycsb-core to provided in bindings
* introduce a bindings-parent pom that sets
** stage dependency copy on building binding
** iff binding has a README.md, build a binding-specific dist artifact
* update distribution assembly to
** properly build after modules
** use per-binding sets of dependencies
closes#250
* Need a SNAPSHOT version because non-SNAPSHOT is reserved for actual releases.
* Increment minor version per pre-1.0 guidelines from the Version Numbers guide
Fixes#236.