You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Devaraj Das (JIRA)" <ji...@apache.org> on 2013/10/16 18:49:43 UTC
[jira] [Resolved] (HBASE-9777) Two consecutive RS crashes could
lead to their SSH stepping on each other's toes and cause master abort
[ https://issues.apache.org/jira/browse/HBASE-9777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Devaraj Das resolved HBASE-9777.
--------------------------------
Resolution: Duplicate
HBASE-9773 should fix this. Resolving.
> Two consecutive RS crashes could lead to their SSH stepping on each other's toes and cause master abort
> -------------------------------------------------------------------------------------------------------
>
> Key: HBASE-9777
> URL: https://issues.apache.org/jira/browse/HBASE-9777
> Project: HBase
> Issue Type: Bug
> Reporter: Devaraj Das
>
> Here is the sequence of events (with a version of 0.96 very close to RC5 version created on 10/11):
> 1. Master assigns regions to some server RS1. One particular region is 300d71b112325d43b99b6148ec7bc5b3
> 2. RS1 crashes
> 3. Master tries to bulk-reassign (this has retries as well) the regions to other RSs. Let's say one of them is RS2.
> {noformat}
> 2013-10-14 21:16:22,218 INFO [hor13n02.gq1.ygridcore.net,60000,1381784464025-GeneralBulkAssigner-0] master.RegionStates: Transitioned {300d71b112325d43b99b6148ec7bc5b3 state=OFFLINE, ts=1381785382125, server=null} to {300d71b112325d43b99b6148ec7bc5b3 state=PENDING_OPEN, ts=1381785382218, server=hor13n04.gq1.ygridcore.net,60020,1381784772417}
> {noformat}
> 4. RS2 crashes
> 5. The ServerShutdownHandler for RS2 is executed, and it tries to reassign the regions.
> {noformat}
> 2013-10-14 21:16:32,185 INFO [MASTER_SERVER_OPERATIONS-hor13n02:60000-3] master.RegionStates: Found opening region {300d71b112325d43b99b6148ec7bc5b3 state=PENDING_OPEN, ts=1381785382218, server=hor13n04.gq1.ygridcore.net,60020,1381784772417} to be reassigned by SSH for hor13n04.gq1.ygridcore.net,60020,1381784772417
> {noformat}
> 6. (5) succeeds. The region states are made OPEN.
> 7. The retry from (3) kicks in
> {noformat}
> 2013-10-14 21:16:22,222 INFO [MASTER_SERVER_OPERATIONS-hor13n02:60000-1] master.GeneralBulkAssigner: Failed assigning 52 regions to server hor13n04.gq1.ygridcore.net,60020,1381784772417, reassigning them
> {noformat}
> 8. The retry finds some region state as OPEN, and the master aborts with the stack trace:
> {noformat}
> 2013-10-14 21:16:34,342 FATAL AM.-pool1-t46 master.HMaster: Unexpected state :
> {300d71b112325d43b99b6148ec7bc5b3 state=OPEN, ts=1381785392864, server=hor13n08.gq1.ygridcore.net,60020,1381785385596} .. Cannot transit it to OFFLINE.
> java.lang.IllegalStateException: Unexpected state : {300d71b112325d43b99b6148ec7bc5b3 state=OPEN, ts=1381785392864, server=hor13n08.gq1.ygridcore.net,60020,1381785385596}
> .. Cannot transit it to OFFLINE.
> at org.apache.hadoop.hbase.master.AssignmentManager.setOfflineInZooKeeper(AssignmentManager.java:2074)
> at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1855)
> at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1449)
> at org.apache.hadoop.hbase.master.AssignCallable.call(AssignCallable.java:45)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.1#6144)