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
