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