polariszi 2021-08-02 16:41 采纳率: 0%
浏览 299
已结题

mongodb副本集事务环境下,maxTransactionLockRequestTimeoutMillis参数不生效

积分表如下:

img

使用两个线程修改积分表的同一条记录,第一个线程修改totalScore字段,事务没有提交的情况下,第二个线程进来修改同一条记录的remark字段。
此时mongo会直接报错: Command failed with error 112 (WriteConflict): 'WriteConflict error: this operation conflicted with another operation. Please retry your operation or multi-document transaction.'

代码如下:

img

img

官网查阅资料,通过修改maxTransactionLockRequestTimeoutMillis参数,可以设置事务锁等待时间,但是,我在mongo配置中加上:"maxTransactionLockRequestTimeoutMillis" : 30000,再进行同样的操作,发现没有任何效果,没有进行等待,还是直接报错Command failed with error 112 (WriteConflict): 'WriteConflict error

我想让多个事务修改同一条记录的时候,其他的事物发现有更新冲突之后,进行锁等待,请问mongo支持吗?或者应该怎么设置才能让参数maxTransactionLockRequestTimeoutMillis生效?

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-08-04 14:46
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

    本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。

    评论

报告相同问题?

问题事件

  • 系统已结题 8月10日
  • 创建了问题 8月2日

悬赏问题

  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入