hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-1886) move table and column family attributes to ZK to make them live
Date Fri, 23 Oct 2009 22:21:59 GMT

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

View raw message