[ https://issues.apache.org/jira/browse/HBASE-1730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13069417#comment-13069417 ]
dhruba borthakur commented on HBASE-1730: ----------------------------------------- > I like Ryans' dictum that we store transitory info in zk only, not permanent > info like table schemas. Completely agree. All schema info resides in .tableinfo and it will continue to reside there. My current proposal for this jira is to make the alter-table command go to the master to update the .tableinfo file. Then the master will trigger the normal close/open sequence for each region-id to all relevant regionservers. There will be some throttling built in so that all regions of the table do not encounter a close/open sequence at the same time. The master will not maintain persistant state on which region-ids has been closed/opened; if the master dies before all regionids were closed/opened, then an admin has to issue a disable/enable command to propage the schema change to all region servers. Does this sound reasonable? > 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