You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2012/05/11 02:03:49 UTC

[jira] [Commented] (HBASE-5986) Clients can see holes in the META table when regions are being split

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

Enis Soztutar commented on HBASE-5986:
--------------------------------------

Possible fixes I can think of: 
1. Keep MetaScanner/MetaReader as non-consistent (as it is), but allow for a consistent view for getting table regions. Since single row puts are atomic, when the parent region is mutated to be offline, the HRI for daughters are added to the row. So on MetaScanner.allTableRegions and similar calls, we can keep track of daughter regions from split parents and return them to the client. 
2. Make MetaScanner consistent, in that, whenever it sees a split parent, it blocks until the daughters are available. 
3. We have region-local transactions now, so if we ensure that the rows for parent and daughters will be served from the same META region, then we can update all three rows atomically. Maybe we can come up with a META-specific split policy to ensure split-regions go to the same META region. 
Thoughts? 
                
> Clients can see holes in the META table when regions are being split
> --------------------------------------------------------------------
>
>                 Key: HBASE-5986
>                 URL: https://issues.apache.org/jira/browse/HBASE-5986
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.92.1, 0.96.0, 0.94.1
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>         Attachments: HBASE-5986-test_v1.patch
>
>
> We found this issue when running large scale ingestion tests for HBASE-5754. The problem is that the .META. table updates are not atomic while splitting a region. In SplitTransaction, there is a time lap between the marking the parent offline, and adding of daughters to the META table. This can result in clients using MetaScanner, of HTable.getStartEndKeys (used by the TableInputFormat) missing regions which are made just offline, but the daughters are not added yet. 
> This is also related to HBASE-4335. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira