zoukankan      html  css  js  c++  java
  • MongoDB---出现no write has been done on this connection解决方式

    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。以下是官方的解释

    以上是官方对几个參数的所有解释。

    另一个值是j,true,false,true就打开日志记录。

    举个样例。w:1,j:true,那么,就必需要一台server写操作完毕后,而且将操作写进journal,然后才干够进行下一步操作。

    图中能够看到。必须写完journal才干返回有效值。

    从红线部分,能够看出,majority会替代大于2的数字,

    回到题目,报那个错,最后发现是版本号问题。我们能够通过下面方法验证,在2.2上,对一个空集合进行remove操作,然后立即输入getLastError(w:1),就会返回题目的错误。可是在2.6上,就不会。

  • 相关阅读:
    [Android学习笔记]Activity
    [Android学习笔记]Activity,View,Windows简介
    [Android]Eclipse的使用
    [Cocos2d-x]解决Android平台ndk-build时不自动删除外部库
    [Cocos2d-x]Android的android.mk文件通用版本
    [C++][STL]string记录
    nyoj-103-A+B Problem II
    nyoj-95-众数问题
    nyoj-187-快速查找素数
    nyoj-8-一种排序
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7343874.html
Copyright © 2011-2022 走看看