Add more meaningful error messages to RealDistribution when loading from file

Summary: To help with diagnosing failures like Github issue #2

Test Plan:
ant test passes

Edited distribution file to make it malformed to confirm that error is detected

Reviewers: dhruba, emayanke

Reviewed By: emayanke

Differential Revision: https://reviews.facebook.net/D9951
Document fields of Link/Node

Summary:
Clarify fields in each data type, in particular the different function of
timestamp in the two data types.

Test Plan: Just added comments.  It still compiles

Reviewers: dhruba, emayanke

Reviewed By: emayanke

Differential Revision: https://reviews.facebook.net/D9957
Merge mavenization of LinkBench
Make maven happier by specifying version
Improve test running with maven

* Add option to skip slow tests
* Only run provider-specific (e.g MySQL) tests when explicitly asked to
Convert LinkBench to use maven

Summary:
moved java sources to standard maven folder

include sources in distribution

finished mavenizing the project, changed readme accordingly, made sure that final jar file is bundled with dependencies, so nothing else but that file needs to be on classpath

fixed final jar name

Make maven happier by specifying version

Improve test running with maven

* Add option to skip slow tests
* Only run provider-specific (e.g MySQL) tests when explicitly asked to

Make TimerTest more tolerant to avoid extra failures

Test Plan: Ran mvn package

Reviewers: emayanke, dhruba

Reviewed By: dhruba

Differential Revision: https://reviews.facebook.net/D10011
Document assumptions about node ID allocation more clearly

Test Plan: Ran ant test

Reviewers: emayanke, dhruba

Reviewed By: dhruba

Differential Revision: https://reviews.facebook.net/D9999
Specify locale for distribution file scanner.

Summary:
Error reported in github issue #2

Previously the default locale would be used.  Some locales do not use the period as the decimal separator.

Test Plan: mvn test succeeds

Reviewers: emayanke, dhruba

Reviewed By: dhruba

Differential Revision: https://reviews.facebook.net/D10299
Consistent handling of link count version and timestamp

Summary:
We don't handle version and timestamp for link count table
consistently between deleteLink and addLink.  This change
standardises so that time is timestamp of last update,
and version is updated on every change.

Test Plan: ran MySqlLinkTest

Reviewers: dhruba, emayanke

Reviewed By: dhruba

Differential Revision: https://reviews.facebook.net/D10611
Fix genNode to fill version and time in right field.
Merge pull request #15 from colorant/gennode

Fix genNode to fill version and time in right field.
Fix potential race condition with delete.  Document ACID.

Summary:
Fix race condition that can occur with deletes where two concurrent queries change visibility or delete the row.  This is fixed by acquiring a row lock upon the initial read of the row.

Improve documentation of how we maintain consistency of counts with
InnoDB transactions in other cases.

Test Plan: Ran MySQL tests

Reviewers: dhruba, emayanke, MarkCallaghan

Reviewed By: MarkCallaghan

Differential Revision: https://reviews.facebook.net/D10659
Fix corner case where hidden link is expunged

Summary: Github Issue #9.  DeleteLink doesn't expunge hidden link.

Test Plan: Ran MySQL Link store test

Reviewers: dhruba, emayanke

Reviewed By: dhruba

Differential Revision: https://reviews.facebook.net/D10605
Minor fix of requester statistics
Merge pull request #16 from colorant/statistic

Minor fix of requester statistics
Use 2 connections per client -- read-write, read-only. This avoids the need
to send "commit" for queries. This also lets InnoDB use its fast-path
for read-only transactions (SELECT when in auto-commit mode). And it reduces
the number of statements that are run (fewer COMMIT calls are made).

Add FORCE_INDEX hint on link range query to keep InnoDB from doing IO
to estimate selectivity on the wrong index.

Update indexes for linktable in README.md. These options reduce disk reads
during IO-bound linkbench.

With these changes I almost doubled QPS.
Merge pull request #21 from mdcallag/master

Make it faster for MySQL
get linkbench working with rocks db

Summary:
1) updated version of swift and slf4j-simple
2) exclude the netty dependency from hbase because that version is too old and impatible with swift
3) update thrift files for rocks thrift server
4) fixed a bug that keeps changing dbnames when we add assocs
5) throw exception when requests fail so the driver try to reopen the connections
6) added config option to specify node and assoc server and port separately
7) use thread local for swift client since it's not thread safe according to thrift folks

Test Plan: run linkbench against rocks server

Reviewers: emayanke, MarkCallaghan

Reviewed By: MarkCallaghan

Differential Revision: https://reviews.facebook.net/D14553
Merge pull request #22 from jiangxw/master

get linkbench working with rocks db
beta mongo e mysql