HBASE-3671 Split report before we finish parent region open; workaround till 0.92; Race between split and OPENED processing

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1083275 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2011-03-19 20:17:02 +00:00
parent 97331fb7d4
commit 3579bdf84b
2 changed files with 10 additions and 1 deletions

View File

@ -144,6 +144,8 @@ Release 0.90.2 - Unreleased
HBASE-3659 Fix TestHLog to pass on newer versions of Hadoop
HBASE-3595 get_counter broken in shell
HBASE-3664 [replication] Adding a slave when there's none may kill the cluster
HBASE-3671 Split report before we finish parent region open; workaround
till 0.92; Race between split and OPENED processing
IMPROVEMENTS
HBASE-3542 MultiGet methods in Thrift

View File

@ -91,7 +91,14 @@ public class OpenedRegionHandler extends EventHandler implements TotesHRegionInf
server.abort("Error deleting OPENED node in ZK for transition ZK node (" +
regionInfo.getEncodedName() + ")", e);
}
this.assignmentManager.regionOnline(regionInfo, serverInfo);
// Code to defend against case where we get SPLIT before region open
// processing completes; temporary till we make SPLITs go via zk -- 0.92.
if (this.assignmentManager.isRegionInTransition(regionInfo) == null) {
this.assignmentManager.regionOnline(regionInfo, serverInfo);
} else {
LOG.warn("Skipping the onining of " + regionInfo.getRegionNameAsString() +
" because regions is NOT in RIT -- presuming this is because it SPLIT");
}
if (this.assignmentManager.getZKTable().isDisablingOrDisabledTable(
regionInfo.getTableDesc().getNameAsString())) {
LOG.debug("Opened region " + regionInfo.getRegionNameAsString() + " but "