[HBASE-8249] Adds client side context information

Author: rshroff

Summary:
The motive is to capture failures at per op level. There might be situations in
which the retries will succeed, but the overall operation failed from AppServer
perspective, as the timeout is only 5 secs. Hence, we need a way to get more
context about these operations and record them in Scuba.

This diff adds more information to client side operations performed via
HTable. It adds a ThreadLocal Object at HConnectionManager#TableServers level to
record the exceptions occuring for the current operation. Provides APIs
to fetch this context information and hooks to enable/disable this
recording of context.

Test Plan: mr, Also modified TestHCM to verify this feature.

Reviewers: aaiyer, liyintang

Reviewed By: liyintang

CC: hbase-eng@

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

Task ID: 2186415

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1464739 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8249] Fixing a compilation issue

Author: rshroff

Summary: Fixing a compilation issue

Test Plan: build

Reviewers: manukranthk

Reviewed By: manukranthk

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1464740 13f79535-47bb-0310-9956-ffa450edef68
[0.89-fb] [HBASE-8228] More Logging -- TEMPORY DIFF

Author: aaiyer

Summary: temporary diff to gather more data about snapshots

Test Plan: gather data from tsh025

Reviewers: rshroff, liyintang, adela

Reviewed By: rshroff

CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1464741 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-5263] Letting the HFileWriter know, if a compaction is in progress or not

Author: rshroff

Summary:
We don't need to calculate whether the current block should be cached
because of compaction or not if the writer was not created by
compaction.

Also currently, its very difficult from the logs to know if the stats dumped
out for a Writer are for compaction or normal flush.

This change prevents calculating % of cached keys in case the writer is
not being used by compaction.

Test Plan: mr

Reviewers: liyintang, aaiyer, manukranthk

Reviewed By: manukranthk

CC: hbase-eng@

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

Task ID: 2016630

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