hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13937) Partially revert HBASE-13172
Date Fri, 19 Jun 2015 01:40:01 GMT

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

Enis Soztutar commented on HBASE-13937:

The problems with exiting early is the same problems that 13605 is all about. In theory we
should not have isServerReachable() at all. It is a parallel cluster membership mechanism
to the already existing zk based one. If we get a connection exception or smt, we cannot assume
the server is dead. It may be a temporary network partition for the master or something else.
If we return here earlier, the rest of AM assumes that server is dead, and for example it
assumes that region unassign can safely continue etc. 

The patch goes back to the more conservative approach in terms of the semantics. 

> Partially revert HBASE-13172 
> -----------------------------
>                 Key: HBASE-13937
>                 URL: https://issues.apache.org/jira/browse/HBASE-13937
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Region Assignment
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 0.98.14, 1.2.0, 1.1.1, 1.3.0
>         Attachments: hbase-13937_v1.patch
> HBASE-13172 is supposed to fix a UT issue, but causes other problems that parent jira
(HBASE-13605) is attempting to fix. 
> However, HBASE-13605 patch v4 uncovers at least 2 different issues which are, to put
it mildly, major design flaws in AM / RS. 
> Regardless of 13605, the issue with 13172 is that we catch {{ServerNotRunningYetException}}
from {{isServerReachable()}} and return false, which then puts the Server to the {{RegionStates.deadServers}}
list. Once it is in that list, we can still assign and unassign regions to the RS after it
has started (because regular assignment does not check whether the server is in  {{RegionStates.deadServers}}.
However, after the first assign and unassign, we cannot assign the region again since then
the check for the lastServer will think that the server is dead. 
> It turns out that a proper patch for 13605 is very hard without fixing rest of  broken
AM assumptions (see HBASE-13605, HBASE-13877 and HBASE-13895 for a colorful history). For
1.1.1, I think we should just revert parts of HBASE-13172 for now. 

This message was sent by Atlassian JIRA

View raw message