You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sean Busbey (JIRA)" <ji...@apache.org> on 2016/06/30 00:17:12 UTC

[jira] [Comment Edited] (HBASE-16093) Splits failed before creating daughter regions leave meta inconsistent

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

Sean Busbey edited comment on HBASE-16093 at 6/30/16 12:16 AM:
---------------------------------------------------------------

pushed to branch-1.2 and branch-1.1.

[~apurtell] it looks like [the same blind "enable parent, disable children" happens in 0.98|https://github.com/apache/hbase/blob/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java#L3796], but I don't have a good enough idea anymore about how things work in 0.98 to know if it matters there.

Let me know and I can back port to 0.98 as well?


was (Author: busbey):
pushed to branch-1.2 and branch-1.1. [~apurtell] it looks like [the same blind "enable parent, disable children" happens in 0.98|https://github.com/apache/hbase/blob/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java#L3796], but I don't have a good enough idea anymore about how things work in 0.98 to know if it matters there.

> Splits failed before creating daughter regions leave meta inconsistent
> ----------------------------------------------------------------------
>
>                 Key: HBASE-16093
>                 URL: https://issues.apache.org/jira/browse/HBASE-16093
>             Project: HBase
>          Issue Type: Bug
>          Components: master, Region Assignment
>    Affects Versions: 1.3.0, 1.2.1
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>            Priority: Critical
>             Fix For: 1.3.0, 1.4.0, 1.2.2, 1.1.6
>
>         Attachments: HBASE-16093.branch-1.patch
>
>
> This is on branch-1 based code only.
> Here's the sequence of events.
> # A regionserver opens a new region. That regions looks like it should split.
> # So the regionserver starts a split transaction.
> # Split transaction starts execute
> # Split transaction encounters an error in stepsBeforePONR
> # Split transaction starts rollback
> # Split transaction notifies master that it's rolling back using HMasterRpcServices#reportRegionStateTransition
> # AssignmentManager#onRegionTransition is called with SPLIT_REVERTED
> # AssignmentManager#onRegionSplitReverted is called.
> # That onlines the parent region and offlines the daughter regions.
> However the daughter regions were never created in meta so all that gets done is that state for those rows gets OFFLINE. Now all clients trying to get the parent instead get the offline daughter.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)