Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> Is htable.delete(List<Delete>) transactional?


Copy link to this message
-
Re: Is htable.delete(List<Delete>) transactional?
More complex answer: generally, nothing that involves more than a single row in HBase is transactional. :)

It's possible that HBase might get some limited form of multi-row transactions in the future (see HBase-5229<https://issues.apache.org/jira/browse/HBASE-5229> for more on that) but even then, things would only be transactional within a single region server, which means it's not really a general solution for the case you mention below (short of some external guarantee that all of your deletes are on the same RS).

That said: mutations are generally idempotent in HBase (except for increments). So if you get an exception, it's usually OK to just retry the whole thing.

Ian

On Apr 16, 2012, at 6:33 PM, Jean-Daniel Cryans wrote:

Simple answer: it's not transactional.

J-D

On Mon, Apr 16, 2012 at 4:28 PM, Haijia Zhou <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote:
Very simple question as the subject shows:
Is htable.delete(List<Delete>) transactional?
Say if I am to delete 1000 rows and in the middle of deletion some error
occurs, then will the whole deletion operation get rolled back or will it
end up with  partial deletion?

Thanks

NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB