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