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