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

stack commented on HBASE-20566:
-------------------------------

Ain't it odd having rsgroup keeping a running group of 'special' tables?

        412         List<TableName> specialTables =
413             new 
ArrayList<TableName>(Arrays.asList(AccessControlLists.ACL_TABLE_NAME,
414               TableName.META_TABLE_NAME, TableName.NAMESPACE_TABLE_NAME, 
RSGROUP_TABLE_NAME));
415         // if quota is enabled, add corresponding system table to special 
tables list
416         if (QuotaUtil.isQuotaEnabled(conn.getConfiguration())) {
417           specialTables.add(QuotaTableUtil.QUOTA_TABLE_NAME);
418         }

There is not even a comment as to what a 'special' table is? Is it a system 
table? Shoudn't 'system table' be a property of a table stamped by the core 
rather than a list kept by rsgroup?

Its also a bit odd having rsgroup asking about whether quota is enabled or not. 
Does it have to be so intimate with another feature? Will the rsgroup have to 
grow in tandem with the hbase core as we add more stuff to it with rsgroup 
having to have a reaction?

is there rather some intrinsic that rsgroup could rely on instead? Or, tables 
can't go to 'default' rsgroup if no where else for them to go?

Thanks.

> Creating a system table after enabling rsgroup feature puts region into RIT
> ---------------------------------------------------------------------------
>
>                 Key: HBASE-20566
>                 URL: https://issues.apache.org/jira/browse/HBASE-20566
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Biju Nair
>            Assignee: Nihal Jain
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: HBASE-20566.master.001.patch, 
> HBASE-20566.master.002.patch
>
>
> *Steps to reproduce*
>  - Enable {{rsgroup}} feature
>  - Enable {{quota}} feature which created {{hbase::quota}} table
>  - quota table region will be marked as RIT since the {{rsgroup}} for the 
> table is not known
> {noformat}
> 2018-05-10 14:33:32,392 INFO  [ProcedureExecutorThread-0] 
> zookeeper.ZKTableStateManager: Moving table hbase:quota state from null to 
> ENABLING
> 2018-05-10 14:33:32,397 WARN  [ProcedureExecutorThread-0] 
> rsgroup.RSGroupBasedLoadBalancer: Group for table hbase:quota is null
> 2018-05-10 14:33:32,398 WARN  [ProcedureExecutorThread-0] 
> master.RegionStates: Failed to open/close 89490cd5e00ea8948af413a1df65091a on 
> null, set to FAILED_OPEN
> 2018-05-10 14:33:32,398 INFO  [ProcedureExecutorThread-0] 
> master.RegionStates: Transition {89490cd5e00ea8948af413a1df65091a 
> state=OFFLINE, ts=1525977212397, server=null} to 
> {89490cd5e00ea8948af413a1df65091a state=FAILED_OPEN, ts=1525977212398, 
> server=null}
> 2018-05-10 14:33:32,398 INFO  [ProcedureExecutorThread-0] 
> zookeeper.ZKTableStateManager: Moving table hbase:quota state from ENABLING 
> to ENABLED
> {noformat}
>  - Reason for this issue: Issue
>  - [system table 
> creation|https://github.com/apache/hbase/blob/061a31fad1654d9ded96d118e04c14860413fa25/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java#L1793]
>  doesn't move the table to the appropriate rs group to which system namespace 
> is assigned to. Need to execute logic similar to what is done in the 
> RSGroupAdminEndpoint for [post table creation|#L377] for user table creation.
> *Work Around*
>   - Assigning the system table to ``default`` rsgroup (or to the rsgroup to 
> which the system namespace has been assigned).
>   - Manually assigning the region in RIT from the system table
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to