[
https://issues.apache.org/jira/browse/HBASE-4238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13103404#comment-13103404
]
[email protected] commented on HBASE-4238:
------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1819/
-----------------------------------------------------------
Review request for hbase.
Summary
-------
Previous, we'd not clean up a parent if its daughter region didn't exist in the
fs. This stipulation was added by HBASE-3872. This patch undoes this barrier
to parent cleanup (See HBASE-3872 for why its ok to do this).
CatalogJanitor
+ Break out the Comparator used by CatalogJanitor. It was an anonymous class.
Instead we make it a static inner class so can add test that its actually
sorting properly.
+ Added method hasNoReferences that will return true if no daughter dir OR no
refs in daughter dir
Added some TODOs around SplitTransaction -- vaguely related to this patch.
Added new Test that checks cleanParent to ensure it works properly. Refactored
bits of previous tests so they use common code.
This addresses bug hbase-4238.
https://issues.apache.org/jira/browse/hbase-4238
Diffs
-----
src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java b53e9a0
src/main/java/org/apache/hadoop/hbase/master/handler/ServerShutdownHandler.java
742aea4
src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
abafe5e
src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java 78e7d62
Diff: https://reviews.apache.org/r/1819/diff
Testing
-------
Thanks,
Michael
> CatalogJanitor can clear a daughter that split before processing its parent
> ---------------------------------------------------------------------------
>
> Key: HBASE-4238
> URL: https://issues.apache.org/jira/browse/HBASE-4238
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.90.4
> Reporter: Jean-Daniel Cryans
> Assignee: stack
> Priority: Critical
> Fix For: 0.92.0, 0.90.5
>
> Attachments: 4238-v2.txt, 4238.txt
>
>
> I didn't dig a lot into this issue, but by splitting a table twice in a row I
> was able to trigger a situation where a daughter of the first split was
> deleted by the CatalogJanitor before it processed its parent. Will post log
> in a comment.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira