[ 
https://issues.apache.org/jira/browse/HBASE-1148?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jim Kellerman resolved HBASE-1148.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 0.20.0
                   0.19.1

Committed to branch and trunk

> Always flush HLog on root or meta region updates
> ------------------------------------------------
>
>                 Key: HBASE-1148
>                 URL: https://issues.apache.org/jira/browse/HBASE-1148
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.19.0, 0.19.1, 0.20.0
>            Reporter: Jim Kellerman
>            Assignee: Jim Kellerman
>            Priority: Critical
>             Fix For: 0.19.1, 0.20.0
>
>
> Flushing an HLog does not currently guarantee that the updates will be 
> visible (see HADOOP-4379), however in the case of root or meta region 
> updates, this is critical.
> I was able to create a situation by killing both the root and meta region 
> servers, from which the cluster recovered, but because of the missed edits, 
> clients found the old parent region rather than the new child regions because 
> the fact that the parent region had split was not in the HLog of the crashed 
> region servers (the master knew because of the MSG_REGION_SPLIT message it 
> received) but the clients read the meta table and because that change was 
> lost, clients were trying to find the parent region.
> So, when a SequenceFile.Writer.sync() guarantees that what has been written 
> will be visible to new readers, we need to modify HLog so that if it is 
> writing an update to the root or meta regions, that it immediately flushes 
> (syncs) the log file so that the changes will be visible when the log file is 
> recovered.

-- 
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