[
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
(v6.2#6252)