日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/4/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MONGODB 2.6.8 的一个BUG [Assertion: 13548:BufBuilder attempted to grow() to 134217728 bytes, past the ] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境: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 ]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。