I ran some of Aphyr's Jepsen tests against HBase.  The conclusion is that
HBase performed well.

The test I used is at
https://github.com/rayokota/jepsen/blob/old/src/jepsen/hbase.clj.

I used CDH 5.1.2, which bundles hbase-0.98.1+cdh5.1.2+70.


The first test (hbase-app) is to simply create unique key-value pairs while
a network partition occurs.

0 unrecoverable timeouts
Collecting results.
Writes completed in 200.047 seconds

2000 total
2000 acknowledged
2000 survivors
All 2000 writes succeeded. :-D


The second test (hbase-append-app) is to modify the same cell repeatedly
using checkAndPut (by appending to a list stored as a blob) while a network
partition occurs.  As expected, most writes did not succeed due to the
checkAndPut call failing because another client concurrently modified the
row.  However, no data loss occurred.

0 unrecoverable timeouts
Collecting results.
Writes completed in 200.05 seconds

2000 total
282 acknowledged
282 survivors
all 282 acked writes out of 2000 succeeded. :-)


The third test (hbase-isolation-app) is to modify two cells in the same row
while a network partition occurs, to test if row updates are atomic.  This
is the same test as the one for Cassandra that demonstrated that updates to
multiple keys in the same row are not atomic in Cassandra (
http://aphyr.com/posts/294-call-me-maybe-cassandra/).

0 unrecoverable timeouts
Collecting results.
()
Writes completed in 200.043 seconds

2000 total
2000 acknowledged
2000 survivors
All 2000 writes succeeded. :-D

Reply via email to