[
https://issues.apache.org/jira/browse/HBASE-21440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16679927#comment-16679927
]
Josh Elser commented on HBASE-21440:
------------------------------------
{noformat}
[ERROR] Errors:
[ERROR]
org.apache.hadoop.hbase.master.TestRollingRestart.org.apache.hadoop.hbase.master.TestRollingRestart
[ERROR] Run 1:
TestRollingRestart.testBasicRollingRestart:177->waitForRSShutdownToStartAndFinish:218
» TestTimedOut
[ERROR] Run 2:
TestRollingRestart.org.apache.hadoop.hbase.master.TestRollingRestart »
Appear...
[INFO]
[ERROR]
TestRollingRestart.testBasicRollingRestart:177->waitForRSShutdownToStartAndFinish:218
» Interrupted
[WARNING] Flakes:
[WARNING]
org.apache.hadoop.hbase.master.procedure.TestSchedulerQueueDeadLock.testTableProcedureSubProcedureDeadLock(org.apache.hadoop.hbase.master.procedure.TestSchedulerQueueDeadLock)
[ERROR] Run 1:
TestSchedulerQueueDeadLock.testTableProcedureSubProcedureDeadLock:267 Waiting
timed out after [10,000] msec
[INFO] Run 2: PASS
{noformat}
TestSchedulerQueueDeadLock looks a little flakey, but not sure what happened to
TestRollingRestart.
[~allan163], do you have any suggestions around an explicit unit test for this
case? I'd have to go digging to see if I could suggest somewhere to start...
> Assign procedure on the crashed server is not properly interrupted
> ------------------------------------------------------------------
>
> Key: HBASE-21440
> URL: https://issues.apache.org/jira/browse/HBASE-21440
> Project: HBase
> Issue Type: Bug
> Affects Versions: 2.0.2
> Reporter: Ankit Singhal
> Assignee: Ankit Singhal
> Priority: Major
> Attachments: HBASE-21440.branch-2.0.001.patch,
> HBASE-21440.branch-2.0.002.patch
>
>
> When the server crashes, it's SCP checks if there is already a procedure
> assigning the region on this crashed server. If we found one, SCP will just
> interrupt the already running AssignProcedure by calling remoteCallFailed
> which internally just changes the region node state to OFFLINE and send the
> procedure back with transition queue state for assignment with a new plan.
> But, due to the race condition between the calling of the remoteCallFailed
> and current state of the already running assign
> procedure(REGION_TRANSITION_FINISH: where the region is already opened), it
> is possible that assign procedure goes ahead in updating the regionStateNode
> to OPEN on a crashed server.
> As SCP had already skipped this region for assignment as it was relying on
> existing assign procedure to do the right thing, this whole confusion leads
> region to a not accessible state.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)