MongoDB---出现no write has been done on this connection解决方式
2024-09-07 10:46:18
no write has been done on this connection
这个问题出现了好几天。日志里面一天出现几十次no write has been done on this connection,
所以研究好几天。
程序那边所做的操作就是在发生故障时。抛出getLastError
然后去查了一下getLastError的方法,W有几个值,
1:不论什么一台server写完就可以进行下一步操作。
2:必需要有2台完毕。
0:则是不考虑写完毕与否,继续写操作。
另一个数值就是majority。查看官方文档后。我的理解是。大于2的值都用majority。以下是官方的解释
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbW9vbmhtaWx5bXM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
以上是官方对几个參数的所有解释。
另一个值是j,true,false,true就打开日志记录。
举个样例。w:1,j:true,那么,就必需要一台server写操作完毕后,而且将操作写进journal,然后才干够进行下一步操作。
图中能够看到。必须写完journal才干返回有效值。
从红线部分,能够看出,majority会替代大于2的数字,
回到题目,报那个错,最后发现是版本号问题。我们能够通过下面方法验证,在2.2上,对一个空集合进行remove操作,然后立即输入getLastError(w:1),就会返回题目的错误。可是在2.6上,就不会。
最新文章
- [Word]中批量修改图片大小和缩放比例方法
- C#6.0特性(快来围观)
- xe5 android tts(Text To Speech)
- jQuery jsonp跨域请求
- Spring核心框架 - AOP的起源及介绍
- MSbuild 教程
- 【JVM命令系列】javap
- spring boot利用swagger和spring doc生成在线和离线文档
- Gsp
- 【转载】Linux下安装、配置、启动Apache
- delphi 面向对象实用技能教学一(递归)
- 查看网卡及对应的IP、MAC
- Oracle计算两天两个日期间相差的天数
- 三报文握手 四报文握手 TCP运输连接管理
- 窗函数法设计FIR滤波器参数特征表
- Jquery根据滚动条显示返回按钮
- PIGS POJ - 1149(水最大流)
- python接口自动化测试(三)-requests.post()
- understanding-raid-setup-in-linux/
- deepin中Tomcat添加执行权限