hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7923) force unassign can confirm region online on any RS to get rid of double assignments.
Date Thu, 28 Feb 2013 09:03:13 GMT

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

ramkrishna.s.vasudevan commented on HBASE-7923:
-----------------------------------------------

bq.assign a region which is not served by any RS but still showing online on master
In this case we should go with unassign(false) right?  

Now we are trying address the case where i unassign(true) and we are taking care that the
unassignment happens and then assign it.
Can we do onething, have only one unassign and handle both cases.  Anyway finally we should
ensure that the region is onlined in one of the  RS without double assignment.
                
> force unassign can confirm region online on any RS to get rid of double assignments.
> ------------------------------------------------------------------------------------
>
>                 Key: HBASE-7923
>                 URL: https://issues.apache.org/jira/browse/HBASE-7923
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: rajeshbabu
>            Assignee: rajeshbabu
>             Fix For: 0.95.0
>
>         Attachments: HBASE-7923_2.patch, HBASE-7923.patch
>
>
> Presently in force unassign we are offlining a region from AM and reassigning it, which
may cause double assignments.
> {code}
>         this.assignmentManager.regionOffline(hri);
>         assignRegion(hri);
> {code}
> Any way if a region is not served by any RS we are offlining the region from AM. 
> {code}
>        if (t instanceof NotServingRegionException) {
>           if (transitionInZK) {
>             deleteClosingOrClosedNode(region);
>           }
>           regionOffline(region);
>           return;
>         } 
> {code}
> We can change as below just to confirm whether region online on any RS.
> {code}
> this.assignmentManager.unassign(hri,force);
> if(!this.assignmentManager.getRegionStates().isRegionInTransition(hri) && !this.assignmentManager.getRegionStates().isRegionAssigned(hri)
){
> 	assignRegion(hri);
> }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message