[
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)