[
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)