[HBASE-6840] [0.89-fb] SplitLogManager should reassign tasks even on a clean RS shutdown.

Author: aaiyer

Summary:
SplitLogManager does not reassign tasks if the regionserver does a clean
shutdown. We should reassign the task even if there is a clean shutdown.

This is a problem if the shutting down RS is the 3rd splitlog worker. Master
just sits there in a loop waiting for the task to finish, as the timeout
will not reassign the task any further.

Test Plan: Run unit tests

Reviewers: pkhemani, kannan, kranganathan, liyintang

Reviewed By: pkhemani

CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1388796 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-6857] [0.89-fb] Instrument how long flushes hold the update lock

Author: aaiyer

Summary:
Seen some coorelation between slow operations and
an occassional memstore flush.
See how long we block updates during a flush.

Test Plan: push and look for stats

Reviewers: kranganathan, kannan

Reviewed By: kannan

CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1388797 13f79535-47bb-0310-9956-ffa450edef68
[jira] [HBASE-6619] [89-fb] Do no unregister and re-register interest ops in RPC

Author: michalgr

Summary:
Improvements in how we are dealing with incoming requests. Right now we are using deserialization pool. Every tame we get read event on a selector in listener, we deregister read operation and pass descriptor to deserialization pool. Then some thread (one of #CPUs + 1) reads some bytes, then registers read interest again and wake ups listener.

My changes introduce pool of Reader threads. Those threads have their own selectors and they do not have to register/deregister anything all the time.

This patch also delays parsing of incoming request. RawCalls are queued, and then parsed in Handler thread that gets it.

Test Plan:
Unit tests, 4 fails:

TestDistributedLogSplitAtStartup
TestSplitLogWorker
TestDistributedLogSplitting
TestLogSplitOnMasterFailover

All 4 fail without these changes.

Impact on performance can be seen here: https://our.intern.facebook.com/intern/wiki/index.php/HBase/PerfExperiments/HBase-versus-Hypertable

Reviewers: kranganathan

Reviewed By: kranganathan

CC: JIRA, Kannan, aaiyer, avf, mbautin, Liyin, gqchen

Differential Revision: https://reviews.facebook.net/D5283

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1388798 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-6215] Per-request profiling: on-disk size for the block misses

Author: liyintang

Summary:
Task #1462913:
We assume that hbase block cache misses are equal in terms of disk load, which might not be true as blocks of different type (data, bloom, index) from different CFs have different size & compression ratio.
It might be useful to also return the size of compressed data it actually reads from disk per each request.

Test Plan: Will test it on the dev cluster

Reviewers: kannan, kranganathan

Reviewed By: kranganathan

CC: hbase-eng@

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

Task ID: 1462913

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1388799 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-5783] [0.89-fb] Improve false positives: Retry only if the server restarts

Author: aaiyer

Summary:
Batched upload should not abort the job, if the regions
were moved due to benign reasons.

Test Plan:
run MR tests.
add a unit test to test the behavior

Reviewers: kannan, kranganathan, mbautin

Reviewed By: kranganathan

CC: hbase-eng@

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

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