hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Stepachev (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7767) Get rid of ZKTable, and table enable/disable state in ZK
Date Fri, 15 Aug 2014 12:19:18 GMT

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

Andrey Stepachev commented on HBASE-7767:

Have done more research.
Seems that an idea with tableinfo looks better. TableStateManager implementation can hold
information in memory and on failover to new master it simply reread from hdfs. Every state
change will goes through TSM too. Transient states stored in memory too.
Why it is better then using table:
 - table is much more heavyweight structure than needed (why we need support for wal and split
log for such small structure)
 - TableStateManager used even before meta table is up, so it is not obvious, where to store
state of meta table and states table itself.
Currently client uses zk. With table implementation it will use regular scan requests, but
it will be cumbersome to implement modification semantics (we need coprocessor to intercept
updates to this table). 

Much better solution is to add status (enabled/disabled) to HTableDescriptor. Thats gives
consistent way to create disabled tables. Or to disable enabled via alter table calls. Transient
states (ENABLING/DISABLING) should be stored in memory and on reactivating new master it should
figure out that table is not enabled/disabled completely (state of the table will be disabled,
but not all regions unassigned).

Is it make sense?

> Get rid of ZKTable, and table enable/disable state in ZK 
> ---------------------------------------------------------
>                 Key: HBASE-7767
>                 URL: https://issues.apache.org/jira/browse/HBASE-7767
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Zookeeper
>    Affects Versions: 0.95.2
>            Reporter: Enis Soztutar
>            Assignee: Andrey Stepachev
> As discussed table state in zookeeper for enable/disable state breaks our zookeeper contract.
It is also very intrusive, used from the client side, master and region servers. We should
get rid of it. 

This message was sent by Atlassian JIRA

View raw message