HBASE-4446 Rolling restart RSs scenario, regions could stay in OPENING state

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1174878 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2011-09-23 16:46:34 +00:00
parent 1bd5e4032c
commit d4c706f1b4
2 changed files with 7 additions and 3 deletions

View File

@ -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

View File

@ -1523,7 +1523,7 @@ public class AssignmentManager extends ZooKeeperListener {
// 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 ZooKeeperListener {
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());