【问题标题】:Cassandra: Undo transaction in cassandraCassandra:在 cassandra 中撤消事务
【发布时间】:2013-10-24 22:23:44
【问题描述】:

我在 Spring MVC 中使用 Cassandra。如果发生任何异常,我如何在赫克托中撤消 Cassandra 事务。例如,如果我在两个列族中插入数据并且一个失败了,那么它应该删除插入到其他 CF 中的数据。

【问题讨论】:

    标签: spring-mvc cassandra hector


    【解决方案1】:

    听起来你想要的是atomic batch,从 1.2 开始可以使用 CQL。请记住,这有一些开销。如果您使用原子批处理,则无需手动提交或回滚,因为 Cassandra 会隐式处理。

    【讨论】:

    • 没有 CQL 这怎么可能
    • 支持基于 Thrift 的 atomic_batch_mutate,但在 Hector 中支持 doesn't appear to be supported。如果您的事务更新单行中的多个列,标准的batch_mutate 将完成这项工作。但从你的问题来看,我认为情况并非如此。
    • 嗨@rs_atl,我知道这是旧答案,但对我来说似乎仍然非常有用。通过批处理操作的开销,我认为您指的是当大量此类批处理操作并行运行时协调节点上的负载。这里有一个问题——我们可以不使用异步执行吗?有没有办法自定义处理原子性?可能在异常块中,回滚已提交的事务?
    猜你喜欢
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 2010-10-01
    • 2022-01-08
    • 1970-01-01
    • 2021-10-17
    • 2016-05-06
    • 1970-01-01
    相关资源
    最近更新 更多