[
https://issues.apache.org/jira/browse/HBASE-2729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12881579#action_12881579
]
Todd Lipcon commented on HBASE-2729:
------------------------------------
bq. The patch has ' "_tmp");' in it rather than '.tmp'.
oops... let me double check this is the latest patch, I thought I fixed that.
Will make sure it's right before commit.
bq. We just going to let compaction dross pile up over life of a region?
I don't think a compaction should leave data in tmp except if the compaction
fails, right? Looking at my load test I'm running right now, the .tmp dirs are
there but they're empty, even though compactions have run.
> 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
>
>
> 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.