[HBASE-7100] Allow multiple connections from HBaseClient to each remote endpoint

Author: kranganathan

Summary:
Allows a conf-controlled set of connections per server. With this, the get benchmark from one client to one server is now able to do 145K to 152K gets/sec.

Note that the first param that the HBaseClient is created with is respected, all future confs are ignored.

Test Plan: Tested by running the get benchmark.

Reviewers: kannan, liyintang

Reviewed By: kannan

CC: hbase-eng@

Differential Revision: https://phabricator.fb.com/D621225

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1406785 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-7105] RS throws NPE on forcing compaction from HBase shell on a single bulk imported file.

Author: kranganathan

Summary:
In StoreFile, we have:
private AtomicBoolean majorCompaction = null;

In StoreFile.open(), we do:
b = metadataMap.get(MAJOR_COMPACTION_KEY);
if (b != null) { // init majorCompaction variable }

Because the file was bulk imported, this is never initialized. Any subsequent call to isMajorCompaction() NPE's. Fix is to initialize it to false.

Test Plan: Ran unit tests, re-ran the test case that broke it.

Reviewers: kannan

Reviewed By: kannan

CC: hbase-eng@

Differential Revision: https://phabricator.fb.com/D622348

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1406786 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-7068] Create a Get benchmark

Author: kranganathan

Summary: Initial Get benchmark with a variable number of client threads. Also added support to bulk load files so that the reads will all come from block cache.

Test Plan: Tested by running benchmark.

Reviewers: kannan

Reviewed By: kannan

CC: hbase-eng@

Differential Revision: https://phabricator.fb.com/D614229

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1406787 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-2376] Enhance Flushes and Compactions to respect FLASHBACK_QUERY_LIMIT.

Author: pritam

Test Plan: 1) All unit tests.

Reviewers: kannan, kranganathan, aaiyer, mbautin, liyintang, adela

Reviewed By: liyintang

CC: hbase-eng@, erling

Differential Revision: https://phabricator.fb.com/D606550

Task ID: 1733764

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1406789 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-7106] Fix the NPE in unit tests for JDK7

Author: liyintang

Summary:
In JDK7, it will throw out NPE if put a NULL into a TreeSet. And in the unit tests, user can add a NULL as qualifier into the family map for GET or SCAN.
So we shall do the followings:

1) Make sure the semantics of NULL column qualifier is equal to that of the EMPYT_BYTE_ARRAY column qualifier.

2) An easy fix is to use the EMPYT_BYTE_ARRAY qualifier to replace NULL qualifier in the family map for the GET or SCAN objects, and everything else shall be backward compatible.

3) Add a jdk option in the pom.xml (Assuming user installed the fb packaged jdk)
eg: mvn test -Dtest=TestFromClientSide -Pjdk7

Test Plan: Running unit tests

Reviewers: kannan

Reviewed By: kannan

CC: hbase-eng@

Differential Revision: https://phabricator.fb.com/D621313

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1406790 13f79535-47bb-0310-9956-ffa450edef68