[ https://issues.apache.org/jira/browse/HBASE-7999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jesse Yates updated HBASE-7999: ------------------------------- Attachment: hbase-7999-v0.patch Attaching patch for a basic implementation. In short, I'm adding a tabledescriptor property that differentiates between a system table and a userspace one (means that users can create their own system tables too). It then just uses a simple arraylist track which tables are considered internal system tables and need to be created - if they don't exist already - before the cluster starts. Then, once we have that distinction I added a couple of tweaks to HBaseAdmin (and the protocol) to differentiate between system and userspace tables. It was a one-line wrapper to make .META. and -ROOT- system tables as well, so they will still not show up in regular #list commands, but will now be found if you do list_system_tables in the shell (or the corresponding method in HBaseAdmin) > Add 'system' tables > ------------------- > > Key: HBASE-7999 > URL: https://issues.apache.org/jira/browse/HBASE-7999 > Project: HBase > Issue Type: Sub-task > Components: Client, master, Protobufs > Reporter: Jesse Yates > Assignee: Jesse Yates > Fix For: 0.96.0 > > Attachments: hbase-7999-v0.patch > > > System tables are necessary as we start moving towards other internally > scoped uses for tables (already we have a similar paradigm with the ACL table > in the security stuff). This allows things like an statistics table, a > secondary index table, moving replication queues out of ZK - just to name a > couple of things that have come up. > The first use-case would be HBASE-7958 where we would want to support a > system level statistics table. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira