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

Clint Morgan updated HBASE-669:
-------------------------------

    Attachment: hbase-669-v2.patch

Current version:

Added StressTestTransactions which tries to do a lot of conflicting 
transactions. This was useful in finding some subtle issues with 
synchronization and the commit protocol, and gives me some confidence that 
everything is working properly.

still TODO:
 - integrate with regionserver's WAL
 - come up with global transaction log solution. This log is only read when 
there has been a failure during the commit process: Regionservers are holding a 
COMMIT_PENDING transaction (they voted to commit, but have not heard the final, 
global solution) and never hear back the client. Or a regionserver crashes, 
restarts, looks at his WAL and sees entries for a transaction, but no final 
decision (commit or abort). 

I have a simple interface for the transaction logger client, and I'm 
considering implementations in hdfs, zookeeper, or a specialized transaction 
server backed by hdfs. A pure hdfs implementation is attractive because it 
requires no additional infrastructure/servers, however performance will not be 
good as we will just be writing lots of small, short lived files. (All we need 
is ability to get unique transactionId's, and map between transactionId's and 
transaction state)

So now I'm leaning toward a special-purpose server which could run alongside 
the master...

> MultiRegion transactions with Optimistic Concurrency Control
> ------------------------------------------------------------
>
>                 Key: HBASE-669
>                 URL: https://issues.apache.org/jira/browse/HBASE-669
>             Project: Hadoop HBase
>          Issue Type: New Feature
>          Components: client, ipc, regionserver
>            Reporter: Clint Morgan
>         Attachments: hbase-669-v2.patch, hbase-669.patch
>
>
> We have a need for ACID transactions across tables. This issue is about 
> adding transactions which span multiple regions.  We do not envision many 
> competing writes, and will be read-dominated in general. This makes 
> Optimistic Concurrency Control (OCC) seem like the way to go.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to