Author: stack Date: Sat Mar 19 20:21:38 2011 New Revision: 1083277 URL: http://svn.apache.org/viewvc?rev=1083277&view=rev Log: HBASE-3671 Split report before we finish parent region open; workaround till 0.92; Race between split and OPENED processing
Modified: hbase/branches/0.90/CHANGES.txt hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java Modified: hbase/branches/0.90/CHANGES.txt URL: http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1083277&r1=1083276&r2=1083277&view=diff ============================================================================== --- hbase/branches/0.90/CHANGES.txt (original) +++ hbase/branches/0.90/CHANGES.txt Sat Mar 19 20:21:38 2011 @@ -38,6 +38,8 @@ Release 0.90.2 - Unreleased HBASE-3662 REST server does not respect client supplied max versions when creating scanner 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 Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java?rev=1083277&r1=1083276&r2=1083277&view=diff ============================================================================== --- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java (original) +++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java Sat Mar 19 20:21:38 2011 @@ -91,7 +91,14 @@ public class OpenedRegionHandler extends 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 "