You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2013/05/22 00:36:20 UTC

[jira] [Created] (HBASE-8590) [0.94] BlockingMetaScannerVisitor should check for parent meta entry while waiting for split daughter

Enis Soztutar created HBASE-8590:
------------------------------------

             Summary: [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.8


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