Ashu Pachauri created HBASE-18399:
-------------------------------------

             Summary: Files in a snapshot can go missing even after the 
snapshot is taken successfully
                 Key: HBASE-18399
                 URL: https://issues.apache.org/jira/browse/HBASE-18399
             Project: HBase
          Issue Type: Sub-task
            Reporter: Ashu Pachauri


Files missing after the snapshot is taken (only applicable when the TTL for the 
TimeToLiveHFileCleaner is small, like the default 5 mins)
    * SnapshotManifest#addRegion visits store_file_A, but is yet to write it to 
the manifest.
    * store_file_A is marked as compacted away and HFileArchiver moves the file 
to archive.
    * HFileCleaner comes in and sees the store_file_A in archive. It adds the 
file to the list of files that might need to be cleaned up.
    * HFileCleaner's SnapshotHFileCleaner plugin is kicked in.
    * SnapshotFileCache#getUnreferencedFiles also says that store_file_A is 
unreferenced and should be cleaned up (It has not yet been written to the 
manifest).
    * SnapshotHFileCleaner is still going through rest of the files in archive.
    * store_file_A reference is created and written to snapshot manifest.
    * Snapshot verification runs and sees the store_file_A is present in 
archive, and thus the verification passes.
    * Now, the SnapshotHFileCleaner finishes and TimeToLiveHFileCleaner is 
triggered. If TTL has passed since the store_file_A was moved to archive 
(SnapshotHFileCleaner could take easily several minutes to go through rest of 
the files), the TimeToLiveHFileCleaner also marks the file as deletable.
    * Since all cleaner plugins marked file as deletable, the store_file_A is 
deleted.





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to