Author: stack
Date: Fri Sep 23 16:46:34 2011
New Revision: 1174878
URL: http://svn.apache.org/viewvc?rev=1174878&view=rev
Log:
HBASE-4446 Rolling restart RSs scenario, regions could stay in OPENING state
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
Modified: hbase/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1174878&r1=1174877&r2=1174878&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Fri Sep 23 16:46:34 2011
@@ -1,6 +1,7 @@
HBase Change Log
+Release 0.93.0 - Unreleased
-Release 0.91.0 - Unreleased
+Release 0.92.0 - Unreleased
INCOMPATIBLE CHANGES
HBASE-2002 Coprocessors: Client side support; Support RPC interface
changes at runtime (Gary Helmling via Andrew Purtell)
@@ -293,6 +294,8 @@ Release 0.91.0 - Unreleased
(Ramkrishna)
HBASE-4452 Possibility of RS opening a region though tickleOpening fails
due to
znode version mismatch (Ramkrishna)
+ HBASE-4446 Rolling restart RSs scenario, regions could stay in OPENING
state
+ (Ming Ma)
TESTS
HBASE-4450 test for number of blocks read: to serve as baseline for
expected
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1174878&r1=1174877&r2=1174878&view=diff
==============================================================================
---
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
(original)
+++
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
Fri Sep 23 16:46:34 2011
@@ -1523,7 +1523,7 @@ public class AssignmentManager extends Z
// to OFFLINE state meanwhile the RS could have opened the corresponding
// region and the state in znode will be RS_ZK_REGION_OPENED.
// For all other cases we can change the in-memory state to OFFLINE.
- if (hijack &&
+ if (hijack &&
(state.getState().equals(RegionState.State.PENDING_OPEN) ||
state.getState().equals(RegionState.State.OPENING))) {
state.update(RegionState.State.PENDING_OPEN);
@@ -2504,7 +2504,8 @@ public class AssignmentManager extends Z
LOG.debug("Region has transitioned to OPENED, allowing "
+ "watched event handlers to process");
return;
- } else if (dataInZNode.getEventType() != EventType.RS_ZK_REGION_OPENING)
{
+ } else if (dataInZNode.getEventType() != EventType.RS_ZK_REGION_OPENING
&&
+ dataInZNode.getEventType() != EventType.RS_ZK_REGION_FAILED_OPEN ) {
LOG.warn("While timing out a region in state OPENING, "
+ "found ZK node in unexpected state: "
+ dataInZNode.getEventType());