You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Andrey Stepachev (JIRA)" <ji...@apache.org> on 2014/08/21 10:51:12 UTC

[jira] [Updated] (HBASE-7767) Get rid of ZKTable, and table enable/disable state in ZK

     [ https://issues.apache.org/jira/browse/HBASE-7767?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrey Stepachev updated HBASE-7767:
------------------------------------

    Attachment: HBASE-7767.patch


Patch is quite big, but what was done.
1. Table state stored in .tableinfo. HTableDescriptor now has TABLE_STATE parameter.
2. Added TableState and inner enum State.
3. Added MasterRPC getTableState (which supersedes isTableEnabled/isTableDisabled, now getTableState returns enum)
4. TableStateManager removed from public api and become helper private class (similar to TableNamespaceManager)
5. TableStateManager caches reads and updates cache on writes. 
6. TableStateManager doesn’t use table locks for modifications, caller should ensure, that table locked. That is because TableLocks not reentrant. An option is to add boolean, but currently TableStateManager used in master only as helper class.
5. Table state also available through HTableDescriptor, but can’t be altered. enable/disable RPC call should be used.
6. Removed TableState from ZookeeperProtos.
7. Removed methods for table availability from Registry.
7. Removed TableStateManager from CoordinatedStateManager (now master is responsible for table state)

Rationale for additional method: currently getTableDecriptor method wants fully initialised HMaster, but table state requests are used before master fully initialised. Added method waits only HMaster ’started’ status. 

> 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: 2.0.0
>            Reporter: Enis Soztutar
>            Assignee: Andrey Stepachev
>         Attachments: HBASE-7767.patch
>
>
> 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)