[
https://issues.apache.org/jira/browse/HBASE-18796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16169812#comment-16169812
]
Abhishek Singh Chouhan commented on HBASE-18796:
------------------------------------------------
The same code is there in master's metaTableAccessor. I've included a patch for
branch-1 that fixes the issue and adds a test in TestEndToEndSplitTransaction
as well as TestMetaTableAccessor. For the master patch i've added just the test
in TestMetaTableAccessor, due to the procedure stuff i didn't see any
straightforward way to test the behavior of isTableAvailable at a particular
point when the split procedure is executing.
> Admin#isTableAvailable returns incorrect result before daughter regions are
> opened
> ----------------------------------------------------------------------------------
>
> Key: HBASE-18796
> URL: https://issues.apache.org/jira/browse/HBASE-18796
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.3.1
> Reporter: Abhishek Singh Chouhan
> Assignee: Abhishek Singh Chouhan
> Attachments: HBASE-18796.branch-1.001.patch,
> HBASE-18796.branch-1.001.patch, HBASE-18796.branch-1.002.patch,
> HBASE-18796.branch-1.003.patch, HBASE-18796.master.001.patch
>
>
> Admin#isTableAvailable checks if it can getServerName for the meta entries it
> reads. During the time of split server location are added to the meta entries
> in MetaTableAccessor#splitRegion although the description of the method says
> "Does not add the location information to the daughter regions since they are
> not open yet.". At this point during the split daughter regions are not
> actually open, so we can get to a state where parent is offline, daughters
> are not yet open but isTableAvailable returns true.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)