[ 
https://issues.apache.org/jira/browse/HBASE-8127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13619502#comment-13619502
 ] 

ramkrishna.s.vasudevan edited comment on HBASE-8127 at 4/2/13 4:24 AM:
-----------------------------------------------------------------------

bq.TestRSKilledWhenMasterInitializing.testMasterFailoverWhenDisablingTableRegionsInRITOnDeadRS
 test added in the patch Which will timeout.
I ran this.  It works mostly.  And after you said this once it timedout. (So 
may be without AM fix there is some race you mean?).
bq.ff we remove null check for rit in SSH,then SSH processing will be slow in 
normal case as well(every time unncessarily contact zookeeper to check any 
znode is present or not)
You mean the zkTable node?  If you are talking about the zkTable znode, we can 
maintain a set locally and just ensure that only for the first time when we get 
a new table we hit the ZK, else don't hit.
bq.We can extract to a method and call the same in 2 places
If still we are not convinced, extracting to a method will surely help us. 

                
      was (Author: ram_krish):
    
bq.TestRSKilledWhenMasterInitializing.testMasterFailoverWhenDisablingTableRegionsInRITOnDeadRS
 test added in the patch Which will timeout.
                  
> Region of a disabling or disabled table could be stuck in transition state 
> when RS dies during Master initialization
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8127
>                 URL: https://issues.apache.org/jira/browse/HBASE-8127
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.5
>            Reporter: Jeffrey Zhong
>            Assignee: rajeshbabu
>             Fix For: 0.94.7
>
>         Attachments: HBASE-8127_94_2.patch, HBASE-8127_94_3.patch, 
> HBASE-8127_feedback.patch, HBASE-8127.patch, hbase-8127_v1.patch, 
> reproduce-hang.patch
>
>
> The issue happens when a RS dies during a master starts up. After the RS 
> reports open to the new master instance and dies immediately thereafter, the 
> RITs of disabling tables(or disabled table) on the died RS will be in RIT 
> state forever.
> I attached a patch to simulate the situation and you can run the following 
> command to reproduce the issue:
> {code}mvn test -PlocalTests 
> -Dtest=TestMasterFailover#testMasterFailoverWithMockedRITOnDeadRS{code}
> Basically, we skip regions of a dead server inside 
> AM.processDeadServersAndRecoverLostRegions as the following code and relies 
> on SSH to process those skipped regions:
> {code}
>           for (Pair<HRegionInfo, Result> deadRegion : deadServer.getValue()) {
>             nodes.remove(deadRegion.getFirst().getEncodedName());
>           }
> {code} 
> While in SSH, we skip regions of disabling(or disabled table) again by 
> function processDeadRegion. Finally comes to the issue that RITs of 
> disabling(or disabled table) stuck there forever.
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to