[HBASE-8697] Exponential backoff when HBase record reader encounter error
Author rshroff
Reviewer rshroff
Differential Revision D786468:

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1492326 13f79535-47bb-0310-9956-ffa450edef68
[0.89-fb] [master] Allow regionServerReport to run with shorter RPC timeouts.

Author: aaiyer

Summary:
Our RS Expiry/Heartbeat mechanism relies on waiting 20 sec
before declaring a RS to be dead. The rationale behind this
is to give the RS 20 consecutive attempts before considering it
dead.

However, if the RPC timeout is set to 60 sec (by default); it is possible
that one regionserverReport takes up to 60 sec (to fail), and that
single failed call can cause the RS to expire.

We should shorten the RPC timeout for the regionserver report to ensure
we give the RS multiple chances before shooting it down.

2) Also including a bug fix around the instrumentation to log regionserver
reports. If the call to master.regionserverReport is unsuccessful; we should
preserve the old behavior and let the exception out. Specifically, the rest
of the code that follows the rsReport should only be executed, if the report
was successful.

Test Plan: unit tests

Reviewers: rshroff, manukranthk

Reviewed By: manukranthk

CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1492337 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8714] Add sync_file_range(WAIT) option to flush and compactions.

Author: pritam

Summary:
The idea here is that we don't want runaway compactions and
flushes to write faster than disk to OS/raid cache and then hit the
disks hard on a writeback. For this purpose we invoke a
sync_file_range(WAIT) every megabyte which forces the regionserver to wait
until the amount of data that it has written hasn't been persisted to
disk.

Test Plan:
1) All unit tests.
2) Simple unit test added to trigger option.

Reviewers: liyintang, rshroff, paultuckfield, aaiyer, sdong

Reviewed By: aaiyer

CC: hbase-eng@, hdfs-dev@

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

Task ID: 2233461

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1492338 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8185] Fixing 'ClientLocalScanner without creating Hardlinks' to not delete the hardlinks.

Author: manukranthk

Summary: Fixing ClientLocalScanner's 'without hardlinks' case to not delete the hardlinks. Earlier, these hardlinks used to be deleted since they are created by the ClientLocalScanner itself. But in this approach the hardlinks should be assumed to be created externally and so they cannot be deleted.

Test Plan: Unit test.

Reviewers: rshroff, shaneh

Reviewed By: rshroff

CC: hbase-eng@

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

Task ID: 2483974

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1492339 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8730] Fixing unit test

Author: shaneh

Summary:
Fixing the unit tests false assumption that the delegate
starts out being the default delegate. This assumption is violated
if another part of the code calls injectEdge with something
other than the defaultEnvironmentEdge.

Test Plan: Tested locally

Reviewers: manukranthk

Reviewed By: manukranthk

CC: hbase-eng@

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

Task ID: 2484222

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