【发布时间】:2015-06-21 08:05:46
【问题描述】:
Traceback (most recent call last):
File "from_mongo.py", line 27, in <module>
for sale in pm.events.find({"type":"sale", "date":{"$gt":now-(_60delta+_2delta)}}, no_cursor_timeout=True, batch_size=100):
File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 968, in __next__
if len(self.__data) or self._refresh():
File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 922, in _refresh
self.__id))
File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 838, in __send_message
codec_options=self.__codec_options)
File "/usr/local/lib/python2.7/dist-packages/pymongo/helpers.py", line 110, in _unpack_response
cursor_id)
pymongo.errors.CursorNotFound: cursor id '1025112076089406867' not valid at server
我也尝试过更大或更小的批量大小,根本没有 no_cursor_timeout。我什至设法在一个非常小的集合(200 个带有 id 和标题的文档)上得到这个错误。当数据库没有响应(大量插入)时,似乎会发生这种情况。设置是由 3 个副本集(9 个 mongodb 实例)组成的 3 个分片的集群,mongodb 3.0。
【问题讨论】:
-
你是如何创建 MongoClient 的?你是传递一个mongos的地址,还是多个?