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-5583) Master restart on create table with splitkeys does not recreate table with all the splitkey regions
Date Wed, 03 Apr 2013 05:41:19 GMT

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

Enis Soztutar commented on HBASE-5583:

Sorry for coming in this late to this jira. Ram, have you looked at the generic master coordinated
actions jira, HBASE-5487? What you are doing here, and what we need in general for operations(create
table, disable table, etc) running in master is: 
 - Client initiates the Master operation, gets a trackId in an async response. 
 - Operations are written in a sequence of adempotent steps, where each step can be undone.
Each step can work on top of partial results from a previous execution. 
 - Master executes the steps of operation in sequence. Master either keeps the state of the
whole execution stack, or uses a WAL for keeping the execution state. 
 - Client query back the execution state by asking the master with the obtained trackId. 

This patch only solves the create table problem, for some cases, but cannot be generalized
to other operations. Instead of doing it case-by-case, we should really solve this in HBASE-5487
I think. As I outlined there, there are 3 ways, that we can approach this: 
 - Keeping the master state in zookeeper. Your patch does this for create table. However,
we should go with the FATE approach if we decide on this. 
 - Keeping the state in an WAL from master. This log will use hlog, but will be owned by the
active master. recovery is done using this. 
 - Keeping the state in a system table. Since HBase tables in turn use WAL's, this is just
indirectly using a WAL. 
> Master restart on create table with splitkeys does not recreate table with all the splitkey
> ---------------------------------------------------------------------------------------------------
>                 Key: HBASE-5583
>                 URL: https://issues.apache.org/jira/browse/HBASE-5583
>             Project: HBase
>          Issue Type: Bug
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.95.0
>         Attachments: HBASE-5583_new_1.patch, HBASE-5583_new_1_review.patch, HBASE-5583_new_2.patch,
HBASE-5583_new_4_WIP.patch, HBASE-5583_new_5_WIP_using_tableznode.patch
> -> Create table using splitkeys
> -> MAster goes down before all regions are added to meta
> -> On master restart the table is again enabled but with less number of regions than
specified in splitkeys
> Anyway client will get an exception if i had called sync create table.  But table exists
or not check will say table exists. 
> Is this scenario to be handled by client only or can we have some mechanism on the master
side for this? Pls suggest.

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

View raw message