[HBASE-8311] Make HBaseFsck less verbose

Author: manukranthk

Summary: Adding an option to output summaries related to each table into a file in json format. The table information would contain the following details total/online/offline (not deployed)/missing/skipped regions. Also each table would contain a list of errors for the regions for that table.

 Test Plan: Tested by executing the code on a shadow cluster.

 Reviewers: liyintang, arjen

 Reviewed By: arjen

 CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1470787 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8083] For RetriesExhausted Exception, tells whether any of the exception was thrown by RegionServer or not

Author: rshroff

Summary:
Whenever AppServer gets an errors(mostly RetriesExhaustedException),
they invalidate the cache for that user. The reason is that they are not
sure if the operation was performed on the RegionServer or not.

This change adds an API to tell whether any of the exception was thrown
by RegionServer or not. In case its not thrown by RegionServer, then
they will not invalidate the cache.

Test Plan:
mr
Will add a unit test to create different errors.

Reviewers: aaiyer, liyintang

Reviewed By: liyintang

CC: hbase-eng@

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

Task ID: 2253805

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1470788 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8328] Making the regex for the hostname in HServerInfo more strict

Author: gauravm

Summary: The regex for the servername in HServerInfo was very liberal. Making it more strict by ensuring that the hostname follows the Letters-Digits-Hyphen (LDH) rule.

Test Plan:
1. Ran the unit tests
2. Checked that the regex accepts hostnames like {"123.223.444.111", "hbaseproxy001.prn1.fb.com" }, and does not accept hostnames like { "", " ", "  ", "#123$!!"}

Reviewers: shaneh, liyintang

Reviewed By: shaneh

CC: hbase-eng@

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

Task ID: 2277059

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1470789 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-5263] Change the logging to trace in HFileWriterV2 for cacheCurrentBlockForCompaction

Author: rshroff

Summary:
The logging level is debug by default on all the HBase clusters. The current
function cacheCurrentBlockForCompaction dumps the log at debug level for every
new block written during compaction.

Changing the level to trace to avoid spamming the log.

Test Plan: build and test it on TSH25

Reviewers: liyintang, nspiegelberg

Reviewed By: liyintang

CC: hbase-eng@

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

Task ID: 2016630

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1470790 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8114][89-fb] Interrupt the RS RPC call when the client connection has been closed

Author: adela

Summary: when the socket connection is closed we are interrupting the current call. Also, we don't want to interrupt the prefatch call just the actual get/next.

Test Plan: to be defined

Reviewers: liyintang, aaiyer, manukranthk

Reviewed By: liyintang

CC: hbase-eng@, rshroff

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

Task ID: 2044405

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1470791 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-5032][89-fb] Disable the write of Delete Column Bloom Filter

Author: adela

Summary:
The Delete Column Bloom filter write was enabled by default,
adding a parameter, so we can enable/disable it in the future

Test Plan: to be defined

Reviewers: liyintang, aaiyer, rshroff, manukranthk, shaneh

Reviewed By: liyintang

CC: hbase-eng@

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

Task ID: 2186656

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1470792 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8307] Modifications in PercentileMetrics

Author: adela

Summary:
I am modifying this since I think it would be more useful to
have a constructor which sets the percentile and number of buckets
during initialization, since that is set just one time and not changed.
Let me know if you think this change is not necessary

Test Plan: ran HistogramTest unit test

Reviewers: manukranthk, liyintang, rshroff, gauravm

Reviewed By: manukranthk

CC: hbase-eng@

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

Task ID: 1200149

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1470793 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8371] Removes the dependency on thrift for RegionException

Author: rshroff

Summary:
RegionException was derived from IOError to capture the backoff timeout,
information required by the thrift clients to reduce the load on the
overloaded region servers. The exception was derived from IOError to
make it compatible with thrift. When this change was ported to neptune,
it created a new dependency on the thrift package.

HBase uses version 0.80 while many of the customers either use the
internal thrift or 0.90. This incompatibility is causing problems on the
app server which I think is using internal thrift.

Hence, we decided to get rid of this dependency on the server side by
deriving the RegionException again from IOException and storing the
backOffTime as a class member variable as it was done earlier.

On the thrift server side, when it gets an exception which is an
instance of RegionException, it will fetch the timeBackoff value and
pass it on to the client appropriately.

Test Plan:
I will test this on SEARCHHBASE004-FRC1 as they have a c++
thrift client communicating with HBase

Reviewers: liyintang, aaiyer, avf, adela

Reviewed By: adela

CC: hbase-eng@, nathan, davejwatson

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1470794 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8307] Fixing the test in Histogram metrics.

Author: manukranthk

Summary: testAboveMaxValue looks exactly like the same as the testBelowMaxValuetest but needs to put values above the max value.

Test Plan: Tested on shadow.

Reviewers: rshroff, gauravm

Reviewed By: rshroff

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

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