Граф коммитов

1166 Коммитов

Автор SHA1 Сообщение Дата
Sean Busbey af424b083d [version] update master branch to 0.14 2017-09-21 21:00:41 -05:00
Sean Busbey 28b924bfec [scripts, core] cleanup bindings (#1031)
* remove mapkeeper and voldemort from command help, since we don't build them
* fix ordering of modules in root pom

closes #328
2017-09-21 19:36:09 -05:00
Chris Larsen 1a3c8cb92e [hbase10] Address #701 by mimicking the same locks from the HBase 0.9… (#1028)
* [hbase10] Fix #701 by mimicking the same locks from the HBase 0.98 client in the HBase 10 client.

* Address CR comments, thanks @allanbank.

* Addressed the table lock.

* Restore the lock on the connection shutdown.
2017-09-21 12:56:44 -07:00
Chris Larsen 942a31740e [core] Add a CONTRIBUTING.md file to fix #245.
Also addressed @jasontedor review, thanks!
2017-09-19 21:16:25 -07:00
Chris Larsen 259c9658ff [hbase098] Fix #923 by interrupting the current thread. 2017-09-19 21:12:45 -07:00
Chris Larsen 5fbded72e6 [core] add some missing DBs to the YCSB help script. 2017-09-19 21:10:32 -07:00
Chris Larsen 71a9ee5df0 Merge pull request #1029 from manolama/i825
[core] Change the RemainingFormatter to reflect non-plural times, fix…
2017-09-19 21:09:18 -07:00
Chris Larsen 4e84b76342 [core] Change the RemainingFormatter to reflect non-plural times, fixing #825.
NOTE if you parse the standard out of YCSB, you'll be missing the "s" sometimes.
2017-09-19 11:53:06 -07:00
Kevin Risden d6e57c3f57 [jdbc] Use `TEXT` for fields instead of VARCHAR (#910) 2017-09-16 20:19:49 -05:00
Chris Larsen 035310c50d [core] Add the TimeSeriesWorkload class, a new type of workload that uses (#1008)
the existing YCSB API to generate time series data (numeric values associated
with timestamps).
See the TimeSeriesWorkload.java class Javadocs for details on how to use it
with a client and workloads/tsworkload_template for parameters.
Also add the BasicTSDB instance for printing/debugging the workloads.
2017-09-16 20:15:24 -05:00
haih-g db2e3dfb0b [googledatastore] Google Datastore to use default credentials. (#984)
* Google Datastore to use default credentials.

* Google Datastore to skip Index.
2017-09-16 14:15:42 -05:00
Kevin Risden 0d17403b24 [travis] Travis CI add oraclejdk9 (#1023)
* Add oraclejdk9 to .travis.yml

* Upgrade maven-compiler-plugin

* Exclude jdk.tools from hadoop dependency
2017-09-16 14:06:56 -05:00
Kevin Risden 0350c37ec1 [s3] Use AWS IOUtils to read object data (#1021) 2017-09-10 16:07:16 -05:00
Sean Busbey d69345fce7 [travis] get travis back to happy (#1022)
* Set minimum maven version to 3.1.0+, due to reqs for ES testing
* remove oracle jdk7 per travis-ci/travis-ci#7884
* Skip ES5 cluster spin-up if tests are skipped.
* Increase test heap for asynchbase binding from Travis 2048m to 4096m
  - https://docs.travis-ci.com/user/build-environment-updates/2017-09-06/
* temporarily remove the riak service on travis
  - currently fails w/o details
  - http://docs.basho.com/ fails to load, so I can't spin up a test node locally.
2017-09-09 10:48:35 -05:00
Boris Osher a9f5c0453d [s3] S3Client could not estimate read perfomance correctly (#1010)
closes #994
2017-09-07 08:02:24 -05:00
Jason Tedor 385a3898a7 Merge pull request #925 from risdenk/initial-es5
[elasticsearch,elasticsearch5] Add Elasticsearch 5.x binding
2017-08-10 16:31:03 +09:00
Jason Tedor 033ff883eb Elasticsearch 5: Remove extraneous newline
This commit removes an extraneous newline from
ElasticsearchRestClient.java.
2017-08-10 16:27:29 +09:00
Jason Tedor 082dc30f08 Elasticsearch 5: Use provided constants for status codes
This commit replaces some magic numbers (HTTP status codes) with
already-existing constants for this purpose.
2017-08-10 16:25:32 +09:00
Jason Tedor 38d45b0cc8 Elasticsearch 5: Mark constant as final
This commit marks a field intended to be treated as a constant as final.
2017-08-10 16:24:51 +09:00
Jason Tedor b9f8539c30 Elasticsearch 5: Collapse tests to one class
This commit removes duplicate test code from the elasticsearch5 and
elasticsearch5-rest test classes.
2017-08-10 16:20:55 +09:00
Chris Larsen b945c66043 [core] Add the RandomDiscreteTimestampGenerator to generate a range of
timestamps in a non-repeating random order.
Modify UnixEpochTimestampGenerator so that the random generator can
extend it.

Signed-off-by: Chris Larsen <clarsen@yahoo-inc.com>
2017-08-09 21:43:57 -07:00
Chris Larsen b1d4ac629d [core] Add 'basicdb.count' as a config option to track and print
the number of unique combinations of tables, keys and fields per
database operation. This is useful for tracking distributions.

Signed-off-by: Chris Larsen <clarsen@yahoo-inc.com>
2017-08-09 21:30:00 -07:00
Chris Larsen 3e8cf8693b [core] Add the NumericByteIterator to store byte encoded longs or doubles
for passing to db implementations as an abstraction on the byte array itorator.

Signed-off-by: Chris Larsen <clarsen@yahoo-inc.com>
2017-08-09 21:26:54 -07:00
Robert Kubis ec14aae337 Update Spanner Version to 0.21.1-beta
Signed-off-by: Chris Larsen <clarsen@yahoo-inc.com>
2017-08-09 21:26:15 -07:00
Jason Tedor 5d840ef313 Elasticsearch 5: Fix Javadocs in REST client tests
The comments were incorrectly referring to ElasticsearchClient but they
should be referring to ElasticsearchRestClient instead.
2017-08-10 11:34:12 +09:00
Jason Tedor 22509034e6 Elasticsearch 5: Remove core POM change
This commit removes an unrelated POM change for the original
(Elasticsearch 2) binding.
2017-08-10 11:29:44 +09:00
Jason Tedor 9267038886 Elasticsearch 5: Close content builder
This commit wraps the usage of a content builder in a try-with-resources
block to ensure that it is correctly closed.
2017-08-10 11:26:58 +09:00
Jason Tedor d791ae613c Elasticsearch 5: Change es.newdb to es.new_index
This commit changes the name of a property, es.newdb, to es.new_index as
this is more consistent with the terminology used in Elasticsearch.
2017-08-10 11:25:08 +09:00
Jason Tedor e30441cfb7 Elasticsearch 5: Remove unneeded output statements
This commit removes some unnecessary logging statements for the
elasticsearch5 and elasticsearch5-rest bindings.
2017-08-10 11:19:25 +09:00
Jason Tedor a65dcb76d6 Elasticsearch 5: Log transport client on stderr
This commit sets the log of the internal transport client used in the
Elasitcsearch 5 binding to use standard error instead of standard out.
2017-08-10 11:17:32 +09:00
Jason Tedor 6ae7050066 Elasticsearch 5: Revert unrelated changes
This commit reverts some unrelated changes to POMs for other bindings,
perhaps made inadvertently while merging master into a development
branch.
2017-08-10 11:08:57 +09:00
Jason Tedor 1774d62694 Elasticsearch 5: Format transport client logs
This commit adds some basic formatting to the transport client logs for
the transport client used in the Elasticsearch 5 binding.
2017-08-09 16:48:52 +09:00
Jason Tedor 6d14ff4ee5 Elasticsearch 5: Only activate plugin on JDK 8
This commit sets the Elasticsearch 5 binding to only use the
elasticsearch-maven-plugin if tests are running on JDK 8.
2017-08-09 14:33:44 +09:00
Jason Tedor 382bdc7642 Elasticsearch 5: Update docs
This commit updates the Elasticsearch 5 binding docs to include
references for starting Elasticsearch 5, how to configure the transport
client, and how to use the low-level REST client binding.
2017-08-09 14:24:35 +09:00
Jason Tedor 42bb148ce4 Elasticsearch 5: Fix issues for tests to pass
This commit fixes issues with the Elasticsearch 5 transport client and
REST client bindings so that all tests pass.
2017-08-09 14:09:49 +09:00
Jason Tedor f1eed61e73 Elasticsearch 5: Code cleanup
This commit is a straightforward code cleanup of the Elasticsearch 5
transport client and REST client implementations.
2017-08-08 19:08:29 +09:00
Jason Tedor bc69e7eb17 Elasticsearch 5: Complete REST implementation
This commit is an initial cut at a complete implementation using the
low-level Elasticsearch REST client.
2017-08-08 18:45:16 +09:00
Jason Tedor 0eb22d138e Elasticsearch 5: Fix unreleased bugs in client
This commit fixes a bug in the Elasticsearch 5 transport client
binding. Namely, the update method was not indexing using the ID of the
read document, but instead the provided key. As auto-generated IDs are
used, this is a mistake as this is not the ID of the document. This
commit fixes this issue.

Additionally, the type is passed to the search method and used in
searches. While this is not a correctness issue per se, we fix it for
clarity.
2017-08-08 18:42:47 +09:00
Jason Tedor db8674a372 Elasticsearch 5: Remove path.home setting
We can remove the path.home setting for the Elasticsearch 5 binding for
the transport client so this commit does that.
2017-08-08 15:45:47 +09:00
Jason Tedor e47e90e46c Elasticsearch 5: Use auto-IDs and implements scan
This commit refactors the indexing of documents in the Elasticsearch 5
binding to use auto-generated IDs, instead indexing the key field as a
dedicated field rather than using it as the ID. This enables us to
implement scan functionality which we add in this commit as well.
2017-08-08 15:41:30 +09:00
Jason Tedor d66e856a5d Elasticsearch 5: Remove support for embedded node
Upstream Elasticsearch does not support embedded nodes as of
Elasticsearch 5. This commit removes the usage of embedded nodes within
YCSB.
2017-08-07 21:41:49 +09:00
Jason Tedor 23163cc1ed Elasticsearch 5: Fix handling of settings
Since Elasticsearch 5, Elasticsearch is now strict about settings. This
means that if you pass it a setting that it does not recognize,
Elasticsearch will throw an exception whereas previously it was lenient
in such situations. This commit removes passing all properties as
settings to Elasticsearch in favor of a special prefix es.setting for
which properties prefixed with this will be passed as settings to
Elasticsearch.
2017-08-07 21:41:41 +09:00
Jason Tedor a3ba64d5e2 Elasticsearch 5: Avoid adding path.home if not set
If path.home is not set we should not add it to the settings object used
to construct the transport client otherwise we will hit a null pointer
exception due to the null value being dereferenced in the internals of
Elasticsearch.
2017-08-07 21:41:37 +09:00
Jason Tedor b1e1d48097 Elasticsearch 5: Set dependency to version 5.5.1
This commit bumps the Elasticsearch dependency version of the
Elasticsearch 5 binding to version 5.5.1.
2017-08-07 21:41:28 +09:00
Jason Tedor 4c84ffa3e9 Merge branch 'master' into initial-es5
* 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)
2017-08-07 08:46:55 +02:00
Kirill Vlasov cf5d2ca5f5 [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)

Signed-off-by: Chris Larsen <clarsen@yahoo-inc.com>
2017-08-05 15:26:42 -07:00
Mairbek Khadikov 59bc986a08 [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)

Signed-off-by: Chris Larsen <clarsen@yahoo-inc.com>
2017-08-05 13:13:44 -07:00
Jiongxin Liu 2c66bc652b [core] Export totalHistogram for HdrHistogram measurement
Signed-off-by: Chris Larsen <clarsen@yahoo-inc.com>
2017-08-04 22:46:27 -07:00
Chris Larsen d04d9325ec [core] Add an operation enum to the Workload class. This can eventually
be used to replace the strings.
2017-08-04 22:15:57 -07:00
Chris Larsen e4aecc1b47 [core] Add a Fisher-Yates array shuffle to the Utils class. 2017-08-04 22:15:23 -07:00