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