[
https://issues.apache.org/jira/browse/HBASE-1886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12769487#action_12769487
]
stack commented on HBASE-1886:
------------------------------
I took a quick look at the patch. I've been trying to do a bit of thinking on
this topic myself as part of master rewrite design writeup:
http://wiki.apache.org/hadoop/Hbase/MasterRewrite (as part of the rewrite
master issue). I'd like to be a little more radical and move schema to zk too.
After chatting w/ J-D, I'm thinking we'd have a single tables znode up in zk.
Its content is a JSON object that is a list of tables in the cluster. This
JSON object would have two attributes: status and schema. The status would
have attributes read-only, disabled, no-flush (these states seem to be mutually
exclusive but I don't want to disallow setting more than attribute on a table).
The schema would have the table's schema in JSON.
Every RS would have a watcher on this znode -- just one watcher rather than
one-per-attribute as you'd need using your scheme? If tables changed,
regionservers would react by checking every region against the content of the
tables file. Could get a little involved if its carrying 1k regions, there are
1k tables, and one little attribute changed... but won't be bad either since
just a spin through in-memory content.
> move table and column family attributes to ZK to make them live
> ---------------------------------------------------------------
>
> Key: HBASE-1886
> URL: https://issues.apache.org/jira/browse/HBASE-1886
> Project: Hadoop HBase
> Issue Type: Improvement
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Fix For: 0.21.0
>
> Attachments: live_attributes.patch
>
>
> This is a first cut at moving table and column family attributes up to ZK
> where they can be modified any time without requiring a disable/enable table
> cycle. Adds methods to ZooKeeperWrapper for support server side. Adds methods
> to HTableInterface for client side access. Client side talks directly to ZK.
> The new hierarchy for attributes in ZK is like:
> {noformat}
> /hbase
> /table
> /<table-name>
> /attr
> /<table-attr-name>
> /<family-name>
> /<family-attr-name>
> {noformat}
> As before attribute names and values are byte[], but now that they are hosted
> in ZK, the path delimiter ('/') cannot be used.
> Attached patch compiles but has not been tested. I put it up for a concept
> review. Next step before this is functional is to deprecate the attribute
> related methods on HTD and HCD and chase through the warnings to find all
> users who should be updated to use the ZK wrapper or new HTable methods
> instead. And, of course, then add test cases that successfully complete.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.