Ashu Pachauri commented on HBASE-18398:

bq. Can Fs in the method name be removed ? There is only one snapshot operation 
in hbase.
The reason I did not want to use "preSnapshot" is to not confuse with the store 
level 'memstore snapshot'. May be I can name it better to 
'preSnapshotOperation' to indicate that the intent is to setup of the Snapshot 
'Operation', not for the memstore snapshot.

bq. TestSnapshot needs to carry test category....
Thanks for catching this, I'll add the category and rename the class to be more 
specific to RegionSnapshotTask.

bq. Can you measure the impact of this change on snapshot performance ?
I tried it on a real cluster, there was little measurable impact after the 
patch in terms of performance. That's also expected since the snapshot 
operation for a reasonably sized table takes minutes.

> Snapshot operation fails with FileNotFoundException
> ---------------------------------------------------
>                 Key: HBASE-18398
>                 URL: https://issues.apache.org/jira/browse/HBASE-18398
>             Project: HBase
>          Issue Type: Sub-task
>          Components: snapshots
>            Reporter: Ashu Pachauri
>            Assignee: Ashu Pachauri
>             Fix For: 1.3.2
>         Attachments: HBASE-18398.master.001.patch
> Failing to take snapshot due to FileNotFoundException
>     * FlushSnapshotSubprocedure.RegionSnapshotTask takes a region level read 
> lock
>     * Call to HRegion#addRegionToSnapshot.
>     * Call to SnapshotManifest#addRegion. This gets the current list of store 
> files.
>     * RACE → File is marked as compacted away and HFileArchiver moves the 
> file to archive under store level lock.
>     * SnapshotManifest#addRegion visits the stale list of store files one by 
> one. It does a file.getStatus() call to get length of each file. Since the 
> file object still points to the original file, file.getStatus() fails with 
> FileNotFoundException.

This message was sent by Atlassian JIRA

Reply via email to