[ 
https://issues.apache.org/jira/browse/HBASE-16490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15439166#comment-15439166
 ] 

Ted Yu commented on HBASE-16490:
--------------------------------

Looks good overall.

For CleanerChore.java , the following import is not used:
{code}
+import org.apache.hadoop.hbase.master.HMaster;
{code}
{code}
-      return cache.getUnreferencedFiles(files);
+      return cache.getUnreferencedFiles(files, master.getSnapshotManager());
{code}
You don't need HMaster in order to access SnapshotManager. Take a look at 
MasterServices.java :
{code}
  SnapshotManager getSnapshotManager();
{code}
{code}
+   *  key is snapshot's filename in progress, value is the relates lock
{code}
relates -> related


> Fix race condition between SnapshotManager and SnapshotCleaner
> --------------------------------------------------------------
>
>                 Key: HBASE-16490
>                 URL: https://issues.apache.org/jira/browse/HBASE-16490
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>            Reporter: Heng Chen
>            Assignee: Heng Chen
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16490.patch, HBASE-16490.v1.patch, 
> HBASE-16490.v2.patch
>
>
> As [~mbertozzi] comments on HBASE-16464,  there maybe race condition between 
> SnapshotManager and SnapshotCleaner.  We should use one lock when create 
> snapshot,  and cleanup should acquire the lock before take action.
> One method is pass HMaster as param into Cleaner through 
> {{FileCleanerDelegate.getDeletableFiles}},  suggestions are welcomed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to