[ 
https://issues.apache.org/jira/browse/HBASE-2729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12881819#action_12881819
 ] 

stack commented on HBASE-2729:
------------------------------

+1 (basedir -> tableDir is improvement)

> flushCache should write to a tmp directory and then move into the store 
> directory
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-2729
>                 URL: https://issues.apache.org/jira/browse/HBASE-2729
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.21.0
>            Reporter: Todd Lipcon
>            Assignee: stack
>            Priority: Blocker
>         Attachments: hbase-2729.txt, hbase-2729.txt
>
>
> Currently it appears that internalFlushCache writes directly to the target 
> spot of the flushed data. The finally() block appends the metadata and closes 
> the file as if nothing bad went wrong in case of an exception. This is really 
> bad, since it means that an IOE in the middle of flushing cache could easily 
> write a valid looking file with only half the data, which would then prevent 
> us from recovering those edits during log replay.
> Instead, it should flush to a tmp location and move it into the region dir 
> only after it's successfully written.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to