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

Sun Xin commented on HBASE-24135:
---------------------------------

The reason of the error log is that the meta info has not be written when 
RSGroupAdminEndpoint#postCreateTable  moves regions to RegionServers in the 
RSGroup which the table belongs to.

There is a bug in RSGroupAdminEndpoint#postCreateTable. It stored 
RSGroupInfoManagerImpl.tableMap successful, but failed to move region. Because 
meta has not be written by CreateTableProcedure.

Why is table creation successful in the end? 
RSGroupAdminEndpoint#postCreateTable and CreateTableProcedure in different 
threads, and the former runs faster.

I think It should be the following steps: 

1). RSGroupAdminEndpoint#postCreateTable store RSGroupInfoManagerImpl.tableMap 
(Thread 1)

2). RSGroupAdminEndpoint#postCreateTable move regions failed (Thread 1)

3). CreateTableProcedure write meta info (Thread 2)

4). CreateTableProcedure use RSGroupInfoManagerImpl.tableMap to assign regions 
through RSGroupBasedLoadBalancer (Thread 2)

 

So the right way is to ensure RSGroupInfoManagerImpl.tableMap be store before 
assigning regions and don’t move regions again.

I'll try to fix it.

> HBase RS Group
> --------------
>
>                 Key: HBASE-24135
>                 URL: https://issues.apache.org/jira/browse/HBASE-24135
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.2.3
>            Reporter: Ajeet Rai
>            Priority: Minor
>
> IF RS group is enabled then Unable to get table state error is thrown while 
> creating a new table
>  
> Stpes:
> 1: Make sure RS group feature is enabled
> 2: Create a table say usertable2000
> 3: Check master log and observe below exception is thrown  
> org.apache.hadoop.hbase.master.TableStateManager$TableStateNotFoundException: 
> usertable2000



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to