[ 
https://issues.apache.org/jira/browse/HBASE-8590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Enis Soztutar updated HBASE-8590:
---------------------------------

    Fix Version/s:     (was: 0.94.8)
                   0.94.9
    
> [0.94] BlockingMetaScannerVisitor should check for parent meta entry while 
> waiting for split daughter
> -----------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8590
>                 URL: https://issues.apache.org/jira/browse/HBASE-8590
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 0.94.9
>
>         Attachments: hbase-8590_v1.patch
>
>
> This was discovered after HBASE-8505 went in, which introduces a test 
> sporadically triggering this bug. 
> From comments at HBASE-8505: 
> From the logs at 
> https://builds.apache.org/job/HBase-0.94-security/ws/trunk/target/surefire-reports/org.apache.hadoop.hbase.client.TestMetaScanner-output.txt,
>  I think I understand what is going on: 
> BlockingMetaScannerVisitor blocks and wait for the split daughter to appear 
> when it sees a parent region (HBASE-5986). CatalogJanitor on the other hand 
> will order the regions in a (kind-of) topological sort (based on parent child 
> relation) so that it will guarantee parents are not GC'd before daughters.
> What is happening in this issue is not related to the patch in this jira, but 
> the test triggers this extremely rare case by running concurrent 
> catalogjanitor, splits and metascanners. We have parent, splita and splitb 
> regions, and catalogjanitor decides to delete parent first and splitb in one 
> run. While there is a concurrent metascanner which will go over the parent, 
> and sees that it is split, but before being able to read the split daughter, 
> catalog janitor will delete both the parent and the child, which will lead to 
> metascanner blocking until timeout and failing the test.
> On solution might be to also check whether the parent is still there in 
> BlockingMetaScannerVisitor while we are blocking for the daughter.
> Good thing is that with HBASE-7721, we don't need any of this in trunk.

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