java链接MongoDB处理大量数据时经常碰到cursor not found 的异常,其实是超时所致 Exception in thread "main" com.mongodb.MongoException$CursorNotFound: cursor not found on server        at com.mongodb.DBApiLayer$Result.init(DBApiLayer.java:379)        at com.mongodb.DBApiLa…
背景 经常需要执行脚本调用Java程序读取mongodb中数据,本来是转为后台进程.偶尔看看日志的简单任务.今天发现程序抛出异常“com.mongodb.MongoException$CursorNotFound: cursor 0 not found on server”.一开始没在意,重新执行也可以继续跑,但是过一段时间又抛出同样错误,看来要战斗了. 分析 在mogondb.org官网,我找到了同样的问题,这是一个2013年就发现并解决的问题,官方回应这一BUG,并且已经在版本(2.11.0…
查询mongoDB集合数据更新,数据有400w多.我一次用cursor(游标)取1w,处理更新.程序在某段时间运行中遍历游标时发生异常! DBCursor cursor = tabColl.find(queryObj).skip(startRow).limit(pageSize); 完整异常信息:com.mongodb.MongoException$CursorNotFound: cursor not found on server         at com.mongodb.DBApiLay…
src/github.com/mongodb/mongo-go-driver/mongo/cursor.go // Copyright (C) MongoDB, Inc. 2017-present.//// Licensed under the Apache License, Version 2.0 (the "License"); you may// not use this file except in compliance with the License. You may ob…
默认 mongo server维护连接的时间窗口是十分钟 默认 单次从 server获取数据是101条或者 大于1M小于16M的数据 所以默认情况下,如果10分钟内未能处理完数据,则抛出该异常. 解决办法: 1. 修改每批次获取数据量的条数,即batch size: collection.find(condition).batch_size(5) 批量数需 估算十分钟内能处理的数据量 2. 延长超时时间 需显示的关闭cursor cursor=db.images.find({}{'id':1,'…
replset = pictureWorks 执行:mongo --port 1008  (查看1008是否是住数据库) rs.status() 执行: onfig={"_id":"pictureWorks","members":[{"_id":0,"host":"172.10.9.187:1008","priority":5},{"_id":2,…
  发现在mongodb.log里出现  2017-07-07T17:01:55.339+0800 I CONTROL  [main] Error connecting to the Service Control Manager: 拒绝访问. (5) 错误 而且在windows的服务下 没有找到Mongodb 原因  cmd没有用管理员权限 到C:\Windows\System32  目录下  右击cmd 选择已管理员身份运行 再 cd C:\Program Files\MongoDB\Ser…
1,数据库连接超时:DBPool的连接时的配置: 自己进行设置:   MongoClientOptions mco = new MongoClientOptions.Builder()             .autoConnectRetry(autoConnectRetry).writeConcern(WriteConcern.SAFE).connectionsPerHost(                 poolSize).threadsAllowedToBlockForConnect…
Python跑一个aggregate脚本,报错:pymongo.errors.CursorNotFound: Cursor not found, cursor id: 35411720832 搜了下原因,猜测应该跟我的网络关系比较大. 网络不顺,导致数据传输时间过长,Cursor长时间无操作.等到再对Cursor进行操作的时候,服务器端已经把连接给关闭了,因此报错. 很多人会建议将查找设为no timeout,很遗憾MongoDB并没有对aggregate函数提供no time out选项. 所…
部分报错如下: File "D:\anaconda\lib\site-packages\pymongo\cursor.py", line 1189, in next if len(self.__data) or self._refresh(): File "D:\anaconda\lib\site-packages\pymongo\cursor.py", line 1126, in _refresh self.__send_message(g) File "…