ramkrishna.s.vasudevan commented on HBASE-18398:

bq.Region level read lock, to avoid state changes to the region.
So this was already being done in FlushSnapshotSubprocedure and that in 
addition to region lock we take the archive lock only when the operation is for 

The comments from Ted on test cases needs to be fixed.  Else LGTM.

> 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