2013-10-16 33 views
1

我在春季MVC中使用Cassandra。如果发生任何异常,我如何撤销hector中的Cassandra事务。例如,如果我将数据插入到两列家族中,并且一个失败,那么它应该删除插入其他CF中的数据。Cassandra:在cassandra中撤消交易

回答

3

听起来像你想要的是一个atomic batch,它可以使用CQL从1.2开始。请记住,这有一些开销。如果您使用原子批处理,则不会进行手动落实或回滚,因为Cassandra隐式处理此问题。

+0

没有CQL,这怎么可能 – manish

+2

支持基于Thrift的'atomic_batch_mutate',但它[看起来不被支持](https://groups.google.com/forum/#!msg/hector-用户/ tfFTITIubos/3qhyn97fWtAJ)在Hector中。如果你的事务在一行中更新多列,一个标准的'batch_mutate'就可以完成这项工作。但从你的问题我收集到的情况并非如此。 –