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-4083) If Enable table is not completed and is partial, then scanning of the table is not working
Date Tue, 12 Jul 2011 09:54:59 GMT

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

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

The soln can be similar as that of HBASE-4052.
Here we have to make following changes

=> if the table state is in ENABLING state do not populate in the regions map.
=> Recover by calling EnableProcessHandler.  this will try to enable the table by
onlining the regions.
Case 1:
======
If the regions were not onlined.
=> The enable handler will online all the regions and make the table state to 
ENABLED
=> Scanning will work fine

Case 2 :
========
If the regions were not onlined
=> There is a check in the OpenRegionHandler to see if the region is already onlined
=> Move the check to HRegionServer openRegion() api.
=> Create a new exception class AlreadyOnlinedException and throw it from RS.
=> In the assign() api in AssignmentManager catch this exception and add those
regions to the regions map.
=> This will ensure that the table is moved to ENABLED state.
Note:
=====
Here instead of throwing an exception we can add a return type to openRegion() in the HRegionInterface.
 Both involves an interface change.
Can we proceed like this or is there any other better way?


> If Enable table is not completed and is partial, then scanning of the table is not working

> -------------------------------------------------------------------------------------------
>
>                 Key: HBASE-4083
>                 URL: https://issues.apache.org/jira/browse/HBASE-4083
>             Project: HBase
>          Issue Type: Bug
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>
> Consider the following scenario
> Start the Master, Backup master and RegionServer.
> Create a table which in turn creates a region.
> Disable the table.
> Enable the table again. 
> Kill the Active master exactly at the point before the actual region assignment is started.
> Restart or switch master.
> Scan the table.
> NotServingRegionExcepiton is thrown.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message