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

nkeywal commented on HBASE-7407:
--------------------------------

bq. I see. I think by retriable, you mean it is retriable on the same region 
server, right? Some exception may not be retriable on the same region server, 
but retriable on another region server. Is that possible?

Yes. That's what we do for an open: don't retry on this one. That's the case 
for open: don't retry on this one.

bq. My concern is that we are going to have some duplicated logic, and it will 
make the code hard to understand/maintain. For the scenarios targeted by the 
patch, I think timeout monitor can handle it too. If so, then why not let TM do 
the work? If TM doesn't handle it fast enough, we can time it out quickly.

If the master fails, we should reopen the regions in progress as soon as 
possible, relying on a timeout seems dangerous to me:
- in such scenarios, the system is likely overloaded: so reassigning regions 
aggressively would be adding load on top of on already complex situation
- not being aggressive means waiting for a long time: time to detect that the 
master is dead + time for the workaround. It means we're over the minute best 
case.

The TM is an expensive feature, we should not need it on a standard workflow 
(and failures are standard :-) (but its function of 'last chance checker' is 
useful: it's a safety net, but it should not be anything else). 

                
> TestMasterFailover under tests some cases and over tests some others
> --------------------------------------------------------------------
>
>                 Key: HBASE-7407
>                 URL: https://issues.apache.org/jira/browse/HBASE-7407
>             Project: HBase
>          Issue Type: Bug
>          Components: master, Region Assignment, test
>    Affects Versions: 0.96.0
>            Reporter: nkeywal
>            Assignee: nkeywal
>            Priority: Minor
>         Attachments: 7407.v1.patch, 7407.v2.patch, 7407.v3.patch
>
>
> The tests are done with this settings:
>     conf.setInt("hbase.master.assignment.timeoutmonitor.period", 2000);
>     conf.setInt("hbase.master.assignment.timeoutmonitor.timeout", 4000);
> As a results:
> 1) some tests seems to work, but in real life, the recovery would take 5 
> minutes or more, as in production there always higher. So we don't see the 
> real issues.
> 2) The tests include specific cases that should not happen in production. It 
> works because the timeout catches everything, but these scenarios do not need 
> to be optimized, as they cannot happen. 

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