环境:mongoDB2.6.8 集群,
下午突然发现4个从节点,挂了3个,全都都出现以下提示:

2016-03-11T16:53:02.483+0800 [conn312773] Assertion: 13548:BufBuilder attempted to grow() to 134217728 bytes, past the 64MB limit.

经分析, [conn312773] 连接前面的查询 全是统计分析类的查询,后跟开发部确认。
他们自己认为是以下查询 有问题。

这里不太常用到的是:  item:{$push:"$$ROOT"}
这个功能是这样的: 查询 到的数据,把所有的数据明细表用$push 方式到item 再返回,
这样处理好处是在一个页面中,前面有汇总数据,后面还有对应的明细。
但缺点是如果明细值太大,那么就触发了上面的BUG.在官方BUG说明中是说在版本2.4.6就已解决了。但在2.6.8我们还
是遇到,也有可能很少这样用的原因吧。

db.getCollection('PInfo').aggregate([
   {
        $match:{MID:86}
   },
   {
      $group : {
          _id : { PID : "$PID"},
          sumcount : { $sum : 1 },
          item:{$push:"$$ROOT"}
      }
   }
])

我们的解决方法:
把item 中$push 的值从总条记录,修改到只返回某几个字段(尽量少,同时不要返回子文档及数组,因为这两种类型很难预见有多大)
再把查询条件优化成最小,每次只查询少量数据。从而减少返回的数据量。

MONGODB 2.6.8 的一个BUG [Assertion: 13548:BufBuilder attempted to grow() to 134217728 bytes, past the ]相关推荐

  1. 软件测试培训分享:做软件测试工作如何清楚的描述一个bug

    一名合格的软件测试工程师是需要清楚的交代自己的工作任务的,必须要清楚的告诉技术员出现的bug,那么做软件测试工作如何清楚的描述一个bug呢?来看看下面的详细介绍. 软件测试培训分享:做软件测试工作如何 ...

  2. EnterLib PIAB又一个BUG?

    在<这是EnterLib PIAB的BUG吗?>一文中我们讨论了PIAB关于抽象基类的BUG,今天又发现了一个新的问题.问题的起因源于<IoC+AOP的简单实现>这篇文章,因为 ...

  3. 一个Bug能有多大影响:亏损30亿、致6人死亡、甚至差点毁灭世界...

    欢迎关注方志朋的博客,回复"666"获面试宝典 作者:博雯   来源:量子位(QbitAI) 一个Bug就地蒸发5亿美元: 软件设计层面出Bug致6人死亡: DeBug不成功直接世 ...

  4. 从一个Bug开始,重新认识一个强大的 Gson

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:Mafly, 地址:www.cnblogs.com/mafly/p/gson.html 从 ...

  5. 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(一)

    这几篇都是我原来首发在 segmentfault 上的地址:https://segmentfault.com/a/1190000005040834 突然想起来我这个博客冷落了好多年了,也该更新一下,呵 ...

  6. 关于MySQL count(distinct) 逻辑的另一个bug

    背景          上一篇博文(链接)介绍了count distinct的一个bug.解决完以后发现客户的SQL语句仍然返回错误结果(0), 再查原因,发现了另外一个bug.也就是说,这个SQL语 ...

  7. sdcms的一个bug,总是提示,该文件不允许被上传

    之前通过sdcms做过一个网站,最近在上传文件时,总是提示,该文件不允许被上传.于是跟踪了一下,发现了一个bug 上传附近是通过admin目录下的Sdcms_Editor_Up.asp来提交的,当文件 ...

  8. CSSFriendlyAdapter 的一个Bug

    因为要使用树控件的客户端脚本功能,发行asp.net 2.0中默认提供的树控件,并没有开放这方面的接口.要实现客户端的编程还是很有难度的. 查找了一些第三方的控件,不是需要收费,就是功能想对较弱. 后 ...

  9. QQ超市模拟排配2D版1.13 (XNA4.0) (修正双格货架移动的一个bug和3-5地图)

    抱歉,更新了一个地图-- 下载地址:(版本过期了,请下新版) 1.13:更新日期:2012-3-22 更新3店5口地图错误问题.启动程序前请手动删除旧版地图数据. 地址:C:\(我的文档路径)\Sav ...

最新文章

  1. 多任务的介绍(并发、并行)
  2. golang变量作用域
  3. [Qt入门]模态和非模态对话框创建
  4. 开启admin$共享
  5. Java多线程——Condition条件
  6. 【CCNA学习实录】二进制 十进制 十六进制 VLSM
  7. 《Yii2 By Example》第2章:创建一个简单的新闻阅读器
  8. BIM族库下载——10套知名地产Revit样板文件
  9. Excel的上传下载
  10. H3C Comware V3 端口聚合
  11. javaScript视频弹幕
  12. 怎么用计算机测出来体脂,如何测自己的体脂率?
  13. 某马python day03
  14. html语言制作表格模板,十个最简单实用的Table设计模板
  15. 【黄啊码】thinkphp sql wherein的排序问题|tp不能按whereIn排序?
  16. co作为前缀的意思_品牌故事之Tiffany Co
  17. 国产化DM达梦数据库 - 用户状态查询、锁定与解锁,“登录失败次数超过限制”问题解决
  18. Java中的线程状态
  19. 23-25-35岁北漂者的未来该如何规划?~转
  20. System.Web.Caching.Cache

热门文章

  1. Oralce中日期格式
  2. POJ 1269 Intersecting Lines(求直线交点)
  3. Linux实用命令总结
  4. 1.4 isAlive()方法
  5. Linux内核启动过程概述
  6. Qt中QtTableWidget的使用
  7. VC++基于APR实现禁止某个业务(开发行为控制软件用得着,例如上班禁止上QQ)...
  8. ScottGu之博客翻译-LINQ to SQL第四部分,更新数据库 LINQ to SQL (Part 4 - Updating our Database)...
  9. 代码练习中的bug及修改方法
  10. C#读取资源文件的两种方法及保存资源文件到本地