[ 
https://issues.apache.org/jira/browse/HIVE-13406?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alan Gates updated HIVE-13406:
------------------------------
    Attachment: HIVE-13406.patch

Rather than directly translate the RDBMS implementation I propose to take a 
somewhat different approach for HBase.  In the RDBMS implementation the lock 
and transaction trees are kept in the db and reconstructed for each begin, 
lock, commit, or rollback.  This leads to a lot of DB activity as well as 
slower than required response times.  I propose instead to keep the lock and 
txn trees in memory.  This implementation does this by using an HBase 
co-processor.

A co-processor was chosen so that HBase can manage the location and HA aspects 
of the service rather than needing to re-invent that.  In other words, this 
patch effectively uses HBase's co-processor facility as an app server.

This patch makes one other fundamental change, it requires read operations to 
open transactions.  Associating all locks with a transaction greatly simplifies 
the code.

This patch is not ready for merging.  I haven't finished testing it or carried 
forward into the RDBMS implementation changes such as requiring transactions on 
reads.  It is just posted as a prototype to show the direction I'm thinking 
this should go.

> HBase metastore needs to support ACID
> -------------------------------------
>
>                 Key: HIVE-13406
>                 URL: https://issues.apache.org/jira/browse/HIVE-13406
>             Project: Hive
>          Issue Type: Improvement
>          Components: HBase Metastore, Transactions
>    Affects Versions: 2.0.0
>            Reporter: Alan Gates
>            Assignee: Alan Gates
>         Attachments: HIVE-13406.patch
>
>
> The current HBase metastore code does not support any of the acid operations. 
>  It needs to.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to