收藏
回答

云数据事务回滚失败

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 微信安卓客户端 wx59c9f815413593a9 yunshang-test-3g4dczsl9cb7a514 2.10.0
transaction error { code'DATABASE_TRANSACTION_FAIL',
  message:'[FailedOperation.Abort] Abortfail. Retry your request, but if the problem persists,contact us.',
  requestId: '1611285337058_0.4232298341246894_33595297-177281714b9_3' }
回答关注问题邀请回答
收藏

2 个回答

  • @
    @
    01-22

    已知问题:不是SDK bug

    是目前设计成这样的,因为事务里用where ,进行多文档操作很容易出现事务冲突、

    怕用户处理不好这种情况,目前没有开放这个功能。

    (总结:之前是支持的,然后出于以上原因,目前关掉了这个功能,现在只可以事务中用where get建议文档中补充下)

    01-22
    有用 1
    回复 2
    • 泡影
      泡影
      05-14
      确实是这样,事务中我用 where + remove 回滚失败。删除还是用 doc + remove 更好,回滚不会出错。
      05-14
      回复
    • 泡影
      泡影
      05-14
      谢谢!
      05-14
      回复
  • 他乡之客
    他乡之客
    01-22

    您好,请问您这边情况是必现的吗?还是偶然出现的

    01-22
    有用
    回复 4
    • @
      @
      01-22
      必现
      01-22
      回复
    • 他乡之客
      他乡之客
      01-22回复@
      您好,这个地方是mongodb内核的一个行为,这里启动事务后,不要直接abort
      01-22
      回复
    • 他乡之客
      他乡之客
      01-22
      业务逻辑也比较奇怪,为什么会启动一个事务后,直接abort呢?浪费性能
      01-22
      回复
    • @
      @
      01-22回复他乡之客
      业务逻辑奇怪吗?余额减钱,后判断余额为负数回滚事务,就一次修改。当然下面是我刚接触到事务,随便写的测试事务用的,但是感觉业务逻辑不奇怪吧,跟腾讯云同学沟通了,初步认为是where查询有bug,换成doc无问题。
      01-22
      回复
登录 后发表内容
问题标签