[
https://issues.apache.org/jira/browse/HBASE-13331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14380121#comment-14380121
]
Elliott Clark commented on HBASE-13331:
---------------------------------------
Either way could have worked. I just preferred this as it's a little more
explicit on the different cases.
# If the dir doesn't exist assume no references.
# If there is any error reading the daughter region assume there are references.
# else return if there are references.
Changing openRegionFromFileSystem to throw a different exception would have
still required two explicit cases inside of the CatalogJanitor. So I opted for
the one that doesn't use Exceptions as a way to signal file existence.
> Exceptions from DFS client can cause CatalogJanitor to delete referenced files
> ------------------------------------------------------------------------------
>
> Key: HBASE-13331
> URL: https://issues.apache.org/jira/browse/HBASE-13331
> Project: HBase
> Issue Type: Bug
> Components: master
> Affects Versions: 1.0.0, 0.98.12
> Reporter: Elliott Clark
> Assignee: Elliott Clark
> Priority: Blocker
> Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.13
>
> Attachments: HBASE-13331.patch, HBASE-13331.patch
>
>
> CatalogJanitor#checkDaughterInFs assumes that there are no references
> whenever HRegionFileSystem.openRegionFromFileSystem throws IOException. Well
> Hadoop and HBase throw IOExceptions whenever someone looks in their general
> direction.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)