【发布时间】:2020-05-27 21:06:53
【问题描述】:
所以从 4.0 版本开始,MongoDB 支持多文档事务,我找不到答案的一件事是以下。如果我在同一台服务器上有一个由 PRIMARY 和 SECONDARY 实例组成的副本集,如果在事务运行时服务器或 MongoDB 实例上发生意外关闭会发生什么(例如服务器在中间关闭交易)?关闭后和我再次启动 MongoDB 实例后,数据会发生什么?我已经尝试在事务中间复制这个,我的代码执行一个终端脚本来停止两个 mongodb 服务,但我觉得有更好的方法来复制这个场景。我从这个测试中得到的结果是不确定的。提前致谢 !!!
【问题讨论】:
-
你的结果是什么?
-
您好,欢迎来到 StackOverflow!请编辑您的问题,以便您获得合适的答案。阅读有关如何ask a question 和how to create a reproducible example 的文档谢谢!
-
今天我再次进行了测试。实际上过期并不代表我想要的场景,我很清楚,在执行终端脚本以在事务中间停止两个 mongodb 服务后,MongoDB 在终止其进程之前以状态码 0 干净地退出。事务被停止并且从未提交。所以这是另一个问题。如何从节点 js 强制关闭 mongoDB? (我用的是猫鼬)
-
你可以
kill -9服务器进程获取不干净的关机。
标签: mongodb transactions nosql mongodb-replica-set