hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-1730) Near-instantaneous online schema and table state updates
Date Fri, 22 Jul 2011 05:44:58 GMT

    [ https://issues.apache.org/jira/browse/HBASE-1730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13069395#comment-13069395

stack commented on HBASE-1730:


You can ignore the attached patches.  They and the design rotted.  A few things I learned
back then were that "complex" objects to json is not so easy; if class is made of anything
more complicated than a base types and primitives then you need to write helper code for ser/deser.
 Because of this, I tried to dumb-down the schema classes making new versions of HTD and HCD.
 I didn't finish it.

Regards the proposal, it will no longer work; i.e the bit about "updates .META.' because recently
HTD was moved out of HRI (so .META. no longer holds table meta in each row).  It is now to
be found in a file named .tableinfo in the filesystem under each table directory.

So, how this is implemented is pretty wide open.  I like Ryans' dictum that we store transitory
info in zk only, not permanent info like table schemas.  I'd imagine then that a schema edit
would change the .tableinfo content and then we'd signal regionservers to reread the .tableinfo
(via zk?).  What a RS did thereafter could be as dumb as close and reopen of all regions of
the modified table or it could try and be smart about it and only do this if it really has
to (otherwise, just update its inmemory copy of the .tableinfo with new settings).

> Near-instantaneous online schema and table state updates
> --------------------------------------------------------
>                 Key: HBASE-1730
>                 URL: https://issues.apache.org/jira/browse/HBASE-1730
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Andrew Purtell
>            Assignee: stack
>            Priority: Critical
>             Fix For: 0.92.0
>         Attachments: 1730-v2.patch, 1730-v3.patch, 1730.patch
> We should not need to take a table offline to update HCD or HTD. 
> One option for that is putting HTDs and HCDs up into ZK, with mirror on disk catalog
tables to be used only for cold init scenarios, as discussed on IRC. In this scheme, regionservers
hosting regions of a table would watch permanent nodes in ZK associated with that table for
schema updates and take appropriate actions out of the watcher. In effect, schema updates
become another item in the ToDo list.
> {{/hbase/tables/<table-name>/schema}}
> Must be associated with a write locking scheme also handled with ZK primitives to avoid
situations where one concurrent update clobbers another. 

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message