积分表如下:
使用两个线程修改积分表的同一条记录,第一个线程修改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.'
代码如下:
官网查阅资料,通过修改maxTransactionLockRequestTimeoutMillis参数,可以设置事务锁等待时间,但是,我在mongo配置中加上:"maxTransactionLockRequestTimeoutMillis" : 30000,再进行同样的操作,发现没有任何效果,没有进行等待,还是直接报错Command failed with error 112 (WriteConflict): 'WriteConflict error
我想让多个事务修改同一条记录的时候,其他的事物发现有更新冲突之后,进行锁等待,请问mongo支持吗?或者应该怎么设置才能让参数maxTransactionLockRequestTimeoutMillis生效?