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

Enis Soztutar commented on HBASE-7721:
--------------------------------------

bq. Is there a particular reason why META has the region as key instead of 
table?
I think it was just designed that way from the get go.
bq. having the regions inside the table row should give the transaction on the 
table modification for free right?
I think this ties down to the same discussion that is happening at HBASE-7716. 
We could definitely use table names as rows, not sure whether we expose the 
actual META schema to the clients as an API (through MetaScanner or 
MetaReader). Hopefully not. 
But in the mean time that we fix HBASE-2600, we can go with this patch I think. 

                
> Local Transactions in META
> --------------------------
>
>                 Key: HBASE-7721
>                 URL: https://issues.apache.org/jira/browse/HBASE-7721
>             Project: HBase
>          Issue Type: Improvement
>          Components: Coprocessors, regionserver
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 0.96.0
>
>
> Thanks to Lars' local transactions patch (HBASE-5229), we can entertain the 
> possibility of doing local transactions within META regions.
> We need this mainly for region splits and merges. Clients scan the META 
> concurrent to the split/merge operations, and to prevent the clients from 
> seeing overlapping region boundaries or holes in META, we just through hoops. 
> For more backgroun, see BlockingMetaScannerVisitor, HBASE-5986, and my 
> comments at https://reviews.apache.org/r/8716/. 
> Now, for the actual implementation options: 
>  1. As outlined in http://hadoop-hbase.blogspot.com/2012_02_01_archive.html, 
>    - We have to implement a Custom RegionSplitPolicy for the META regions to 
> ensure that a table's regions are always co-located in the same META region. 
> Then we can add MultiRowMutationEndpoint as a system level coprocessor, and 
> use it for META operations. 
>  2. Do smt like HBASE-7716, and expose local atomic multi-row operations as a 
> native API.
>  3. Move META to zookeeper. Use zookeeper.multi.  
> Then we can change region split / merge logic to make use of atomic META 
> operations. 
> Thoughts, suggestions? 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to