[HBASE-10754] Improve the micro benchmarks to perform multigets instead of gets.

Author: manukranthk

Summary: This diff intends to improve the benchmarks by adding multigets to the HBaseBenchmarkTool.

Test Plan: Testing on the dev server

Reviewers: adela, gauravm, fan

Reviewed By: fan

CC: hbase-eng@, fan

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

Task ID: 3904136

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584158 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-7099][89-fb] Fixed compaction hook metrics and detected a problem

Author: adela

Summary:
CompactionHook.transform(..) is assuming the client doesn't change the passed
RestrictedKeyValue and because of that metric for transformed keyvalues didn't work.
Fixed that and ran on one machine on tsh58: https://fburl.com/16574871

Test Plan: ran on tsh58 and it works: https://fburl.com/16574871

Reviewers: aaiyer, rshroff, liyintang

Reviewed By: liyintang

CC: hbase-eng@

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

Task ID: 2095744

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584159 13f79535-47bb-0310-9956-ffa450edef68
[master] Fix compatible problem of TestLogRolling with JUnit 4

Author: daviddeng

Summary: `setUp` and `tearDown` are marked as `@Before` and `@After` but they are not `public`, create two public methods to call them, respectively.

Test Plan: Run `TestLogRolling`

Reviewers: manukranthk, gauravm, liyintang

Reviewed By: manukranthk

CC: hbase-eng@, fan

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

Task ID: 3789093

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584160 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-10747] Fix the Online Config reload script to work with Swift

Author: gauravm

Summary: Adela discovered that the Online Config reloading script was broken. I traced the problem to the script using the Hadoop RPC port, which is turned off by default.

Test Plan: Tested locally.

Reviewers: adela, rshroff, manukranthk, liyintang, aaiyer

Reviewed By: manukranthk

CC: hbase-eng@, andrewcox, arice

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

Task ID: 3921723

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584161 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-10776] Move TableServer out of HConnectionManager

Author: daviddeng

Summary: Use eclipse refactoring tool

Test Plan: Run tests

Reviewers: manukranthk, fan, liyintang, aaiyer, rshroff

Reviewed By: manukranthk

CC: hbase-eng@

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

Task ID: 3928976

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584162 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-10777] Restart Embedded Thrift Server in case of failures

Author: rshroff

Summary:
When the overall load on the embedded thrift server increases, the
TThreadedThriftServer crashes. The RegionServer is still alive and
serving regions but clients talking to embedded thrift server cannot
talk with those regions.

This is a hack for now to restart the embedded thrift server in case
of such failures. TThreadedThriftServer is outdated and we are planning to
get rid of the proxy thrift server moving forward. Hence, I have added
this hack.

Test Plan: existing MR unit tests. Test it on couple of RS on SH003

Reviewers: manukranthk

Reviewed By: manukranthk

CC: hbase-dev@, csliu, chaoyc, dcapra

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

Task ID: 3797478

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584163 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-9930] Fix HFile.Reader interface.

Author: manukranthk

Summary: Scan preloader changes modified getScanner function with 2 arguments to 3 arguments instead of adding a new function. This caused the prometheus build to break since they were using the HFile.Reader interface in their MR jobs. This fixes this behavior.

Test Plan: Unit tests.

Reviewers: adela, rshroff

Reviewed By: adela

CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584164 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-2000] Adding Coprocessor and CoprocessorEnvironment

Author: adela

Summary:
two very basic util classes which both David and I are going to use
(ported from opensource)

Test Plan: N/A

Reviewers: daviddeng

Reviewed By: daviddeng

CC: hbase-eng@, liyintang, manukranthk

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584165 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-10759] Testing the performance of Guava comparator.

Author: manukranthk

Summary: Adding guava comparator into the Bytes.compareTo function which is very fundamental to HBase compare functions and comparators.

Test Plan: Added a unit test which suggests that the guava comparator give slight improvement.

Reviewers: rshroff, liyintang, daviddeng

Reviewed By: daviddeng

CC: hbase-eng@, platform-diffs@lists

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

Task ID: 2268161

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584166 13f79535-47bb-0310-9956-ffa450edef68
[master] Tag unstables

Author: daviddeng

Summary: https://our.intern.facebook.com/intern/wiki/index.php/HBase/UnstableTestcase

Test Plan: `mvn -Dtest=UnstableTestSuite test`

Reviewers: manukranthk, gauravm, aaiyer, liyintang, fan

Reviewed By: manukranthk

CC: hbase-eng@

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

Task ID: 3789093

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584167 13f79535-47bb-0310-9956-ffa450edef68
[master] Let async API return client back to pool after the call finishes

Author: fan

Summary: Because nifty async client is not thread safe, we cannot multiplex connection :(

Test Plan:
TestSimpleOperations, TestHeaderSendReceive.
Benchmark completes without problem now.

Reviewers: adela, manukranthk, gauravm, daviddeng

Reviewed By: manukranthk

CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584168 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-9930] Bug fix in HConnectionManager isMeta function.

Author: manukranthk

Summary: Catching an exception and finally removing the element from the isMeta stack.

Test Plan: Tested on tsh053. We should probably replace this stack using a boolean being passed throughout the interface/or a better design to identify the fact that we are looking for the meta table and that it needs to be prioritized.

Reviewers: adela, gauravm

Reviewed By: gauravm

CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584169 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-10808] Forward porting Leases and Histogram bug fixes to trunk.

Author: manukranthk

Summary: This diff attempts to forward port the Leases and Histogram bug fixes back to trunk.

Test Plan: Run existing unit tests.

Reviewers: liyintang, daviddeng

Reviewed By: liyintang

CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584170 13f79535-47bb-0310-9956-ffa450edef68
[master] Mark some testcases as unstable.

Author: daviddeng

Summary:
`TestFullLogReconstruction`
`TestSplitLogManager`
`TestHLog`

Test Plan: Run testcases

Reviewers: liyintang, manukranthk, fan

Reviewed By: fan

CC: hbase-eng@

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

Task ID: 3789093, 3297526, 3296253, 3862247, 3977473, 3376834

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584171 13f79535-47bb-0310-9956-ffa450edef68
[master] Fix the problem of sunfire xml file

Author: daviddeng

Summary:
Some log was output by calling `Bytes.toString` instead of `Bytes.toStringBinary`, the former generates unpritable chars, which failed the Jenkins.

The diff change many (not all) usage of `toString` in `LOG` and `Exception` message composing.

Test Plan:
`TestHTable` and `TestFastFail` should pass after submitting.
Other testcase.

Reviewers: liyintang, manukranthk, fan

Reviewed By: manukranthk

CC: hbase-eng@, andrewcox

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

Task ID: 3789093

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584172 13f79535-47bb-0310-9956-ffa450edef68
[master] Make ThriftResultSerializer use the correct library

Author: daviddeng

Summary:
Add `CuttingClassLoader` which allow cutting paths for loading clases
Add `ThriftResultSerializer` which loads

Test Plan: TestThriftResultSerializer

Reviewers: rshroff, manukranthk, liyintang, aaiyer, adela

Reviewed By: rshroff

CC: hbase-eng@, arice, chaoyc

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

Task ID: 3547474, 3948196

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584173 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-10843] Update multiple versions and prepare for java 8

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584178 13f79535-47bb-0310-9956-ffa450edef68
[master] First commit of Endpoint implementation.

Author: daviddeng

Summary:
An endpoint is a method running on the server. Some aggregation work can be done on the server and only final results are returned back to the client.

Current endpoints have the following restrictions, may be removed later:

An example of aggregation is shown in `TestEndpoint`

Test Plan: `TestEndpoint`

Reviewers: adela, manukranthk, aaiyer, fan, liyintang, gauravm

Reviewed By: adela

CC: hbase-eng@, andrewcox

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584179 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-10865] Store per table server assignment preference

Author: elliott

Summary:
* Allow user to add server perference in HTableDescriptor
* Honor that preference when creating the table.
* Add tests for ser/deser of server lists in HTD.

Test Plan:
* Wrote unit tests for HTD ser/deser
* Changed previous test that creates table on servers

iloveunittests

Reviewers: adela

Reviewed By: adela

CC: hbase-eng@

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

Task ID: 4023938

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1584180 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-10776] Extract location cache function out as MetaCache

Author: daviddeng

Summary: Add `MetaCache` class

Test Plan: Testcase

Reviewers: manukranthk, fan, liyintang, gauravm

Reviewed By: liyintang

CC: hbase-eng@

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

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