hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-7721) Local Transactions in META
Date Wed, 30 Jan 2013 22:07:15 GMT
Enis Soztutar created HBASE-7721:

             Summary: 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

View raw message