【发布时间】:2020-04-09 06:52:22
【问题描述】:
This MongoDB deployment does not support retryable writes 的最佳解决方案是什么?是否有我应该使用的版本/设置(例如,找到一种从 MMAPv1 切换到 WiredTiger 的方法),或者 retryWrites=false 的显式设置更新真的是 heroku mlab 部署的最佳解决方案?
背景:
在过去几周的某个时间点,我的 Heroku 提供的 mLab 插件已经平稳运行了大约一年,任何写入尝试都开始抛出:
Exception: This MongoDB deployment does not support retryable writes. Please add retryWrites=false to your connection string.
我没有对部署或我的驱动程序进行任何更改,因此我认为这个新异常与 mlab 端的更新与我自己的设置不兼容有关。
在诸如How to fix retryWrites in Mongo? 之类的讨论中,我遇到了对该问题的有效修复。修复要求将 retryWrites=false 选项传递给 MongoClient,但在我看来,虽然我可以绕过错误,但我的 MongoDB 部署中不受支持的功能的问题并没有真正得到解决。
【问题讨论】:
-
您的 MongoDB 驱动程序和服务器版本是什么?根据描述,您的 MongoDB 部署可能仍在使用 MMAPv1。
标签: mongodb heroku pymongo mlab storage-engines