首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我在ScalarDB中启动了一个事务,但没有提交它,会发生什么?

如果我在ScalarDB中启动了一个事务,但没有提交它,会发生什么?
EN

Stack Overflow用户
提问于 2020-07-31 02:56:33
回答 2查看 35关注 0票数 0

我正在使用ScalarDB在Cassandra应用程序中添加ACID支持。如果我启动了一个Transaction,但没有提交它,会发生什么情况?它会有任何不利的影响吗?

例如:

代码语言:javascript
复制
def somefunction=  {
    //Create the transaction
    val transaction: DistributedTransaction = transactionService.start
    if(all OK){
... //go ahead with DB operations
     commitTransaction(transaction) //OK
      (user: User, profileAndPortfolio: ExternalUserProfile, emailToken: UserToken)
    } else {
//miss commiting the transaction here
    }
  }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-11 19:56:07

更准确地说,如果您将SERIALIZABLE用于只读事务并使用读取数据,则可能会导致异常(读偏差异常或只读事务异常)。

因此,作为最佳实践,调用commit总是更好。

票数 0
EN

Stack Overflow用户

发布于 2020-08-03 11:20:50

没有任何效果。事务中的所有变化都存储在客户端的内存中,直到提交。其他事务看不到它们,数据存储(Cassandra)没有收到任何突变请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63179623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档