[
https://issues.apache.org/jira/browse/HBASE-11360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14036573#comment-14036573
]
churro morales commented on HBASE-11360:
----------------------------------------
Maybe we do something like the ReplicationLogCleaner where we clean in bulk and
refresh the cache for every batch.
Or we can do (this might be a bit of a hack)
in the contains method of SnapshotFileCache if its not in the cache.
Then take that HFile and check each of the snapshot directories to see if it is
a reference.
if exists a reference:
force a cache refresh
otherwise
refresh cache as before at a fixed interval or based on directory
timestamps
This might be a bit inefficient but I doubt anyone will have more than say 100
snapshots but it would add 100 exists calls to check each archived HFile
> SnapshotFileCache refresh logic based on modified directory time might be
> insufficient
> --------------------------------------------------------------------------------------
>
> Key: HBASE-11360
> URL: https://issues.apache.org/jira/browse/HBASE-11360
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.94.19
> Reporter: churro morales
>
> Right now we decide whether to refresh the cache based on the lastModified
> timestamp of all the snapshots and those "running" snapshots which is located
> in the /hbase/.hbase-snapshot/.tmp/<snapshot> directory
> We ran a ExportSnapshot job which takes around 7 minutes between creating the
> directory and copying all the files.
> Thus the modified time for the
> /hbase/.hbase-snapshot/.tmp directory was 7 minutes earlier than the modified
> time of the
> /hbase/.hbase-snapshot/.tmp/<snapshot> directory
> Thus the cache refresh happens and doesn't pick up all the files but thinks
> its up to date as the modified time of the .tmp directory never changes.
> This is a bug as when the export job starts the cache never contains the
> files for the "running" snapshot and will fail.
--
This message was sent by Atlassian JIRA
(v6.2#6252)