hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse Yates (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-7465) CleanerChore shouldn't leak IOException for failed delete of non-empty directory
Date Mon, 31 Dec 2012 01:34:12 GMT

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

Jesse Yates updated HBASE-7465:
-------------------------------

    Attachment: hbase-7465-v0.patch

Attaching patch. Makes CleanerChore#checkAndDeleteDirectory default scoped and adds a test
to make sure we don't throw an exception even when we have the 'racey' file condition.

Added test and existing TestCleanerChore tests pass locally.
                
> CleanerChore shouldn't leak IOException for failed delete of non-empty directory
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-7465
>                 URL: https://issues.apache.org/jira/browse/HBASE-7465
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.96.0, 0.94.4
>            Reporter: Jesse Yates
>            Assignee: Jesse Yates
>             Fix For: 0.96.0, 0.94.5
>
>         Attachments: hbase-7465-v0.patch
>
>
> CleanerChore has the following lines:
> {code}
>     // if all the children have been deleted, then we should try to delete this directory.
However,
>     // don't do so recursively so we don't delete files that have been added since we
checked.
>     return canDeleteThis ? fs.delete(toCheck, false) : false;
> {code}
> has a race condition where the directory can have a file added underneath of it between
being determined 'ok to delete' and not. As the comment mentions, we don't do a recursive
delete to avoid deleting those files. However, the non-recursive delete of the directory throws
an IOException.
> This is from http://search-hadoop.com/m/MUMTb13obDf2/CleanerChore+exception/v=plain

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

Mime
View raw message