Transactional and indexing extensions for hbase
Java Ruby
Switch branches/tags
Nothing to show
Pull request Compare This branch is 57 commits ahead of clintam:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
src
.classpath
.gitignore
.project
README.txt
pom.xml

README.txt

This project is a transactional and indexing extension for hbase. 

Current status:

Now working with HBase 0.90.

Working Features:

* Ability to create manage and query with pre-defined table indexes.
* Ability to perform multiple HBase operations within serialized and atomic JTA transactions.

Known limitations and issues:
https://github.com/hbase-trx/hbase-transactional-tableindexed/issues

Installation:
 Drop the jar in the classpath of your application
 
Configuration: 
To enable the extension in hbase-site.xml: 

<property>
    <name>hbase.regionserver.class</name>
    <value>org.apache.hadoop.hbase.ipc.TransactionalRegionInterface</value>
</property>
<property>
    <name>hbase.regionserver.impl</name>
    <value>org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegionServer</value>
</property> 
<property>
    <name>hbase.hregion.impl</name>
    <value>org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegion</value>
</property> 
<property>
    <name>hbase.hlog.splitter.impl</name>
    <value>org.apache.hadoop.hbase.regionserver.transactional.THLogSplitter</value>
</property>
 
 
 To further enable indexing use the above configuration except for the following replacements:
 <property>
    <name>hbase.regionserver.class</name>
    <value>org.apache.hadoop.hbase.ipc.IndexedRegionInterface</value>
</property>
<property>
    <name>hbase.regionserver.impl</name>
    <value>org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegionServer</value>
</property>
<property>
    <name>hbase.hregion.impl</name>
    <value>org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegion</value>
</property> 
 
  
 Also, currently you have to manually create the GLOBAL_TRX_LOG table with HBaseBackedTransactionLogger.createTable() before you start using any transactions.
 
 For more details, looks at the package.html in the appropriate client package of the source.