[0.89-fb] [master] handle rootRegion close correctly

Author: aaiyer

Summary:
Ensure that if a root region closes, the master is
able to handle it cleanely.

there have been situations where the root region
remains unassigned; because the master does not
complete the shutdown because meta regions are
not online.

This is due to a bug in the way ProcessRegionClose
looks to check if the parent table is up. For root,
      there is no parent region, so the availability
      should always return true.

Test Plan: unit tests

Reviewers: rshroff, liyintang, adela

Reviewed By: adela

CC: hbase-eng@

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

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1477748 13f79535-47bb-0310-9956-ffa450edef68
[0.89-fb] [master] Handle missed region open messages from master -> RS

Author: aaiyer

Summary:
We have seen issues on the new hardware where network issues
may cause the MSG_REGION_OPEN from master to the RS to be lost.

This causes the master to keep waiting for the region to open up.
However, since the message is lost, the RS will never open it.

This causes downtime and involves manual intervention to fix, using
hbck.

The diff will ensure that
 (i) the master will retry sending these messages
on future heartbeats, if the RS does not acknowledge the message.
 (ii) The regionserver is able to handle duplicate region open messages
 by maintaining a set of regionOpening regions; and ignoring duplicate
 requests.

Test Plan:
Changed TestRegionRebalancing to cause message loss and
test.

will run the test suite

Reviewers: liyintang, rshroff, adela

Reviewed By: rshroff

CC: hbase-eng@, manukranthk

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

Task ID: 123, 2191086

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/0.89-fb@1477749 13f79535-47bb-0310-9956-ffa450edef68
[HBASE-8467] Adds an option to blacklist a server for RollingRestart

Author: rshroff

Summary:
Following are the master side changes to allow a region server to be
blacklisted. By blacklisted, it means that the HMaster will not assign
new regions to this region server. This will help us in RollingRestart
where we want to drain the region from a particular region server.

It also provides knobs to clear the entire list for recovery purposes.

Test Plan:
Unit test and mr
One test is failing (Investigating)

Reviewers: aaiyer, liyintang

Reviewed By: aaiyer

CC: hbase-eng@, paultuckfield, amit

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

Task ID: 2229110

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