- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 java mongodb 客户端不断收到以下异常:
Caused by: com.mongodb.MongoCursorNotFoundException: Query failed with error code -5 and error message 'Cursor 105639140478 not found on server server1:27017' 在服务器 server1:27017
代码如下:
MongoCollection<Document> db = (bunch of code to load up one of these objects)
FindIterable<Document> cur = db.find().projection(desiredFields).noCursorTimeout(true);
MongoCursor<Document> cursor = cur.iterator();
while(cursor.hasNext()) {
Document o = cursor.next();
doStuff(o);
}
我已经设置了 noCursorTimeout,但我仍然遇到异常。它在超时前处理了大约 110,000 条记录,因此它显然能够进行某种工作(否则它不会处理任何记录)但同时它也无法正常工作,因为我希望它在之后不会超时具体设置 noCursorTimeout(true)。
最佳答案
来自在线文档:
如果 session 空闲时间超过 30 分钟,MongoDB 服务器会将该 session 标记为已过期,并可能随时将其关闭。当 MongoDB 服务器关闭 session 时,它还会终止任何正在进行的操作并打开与 session 关联的游标。这包括配置了 noCursorTimeout 或大于 30 分钟的 maxTimeMS 的游标。
建议的解决方案是减少批量大小或手动刷新 session
对于返回游标的操作,如果游标可能空闲超过 30 分钟,请使用 Session.startSession() 在显式 session 中发出操作,并使用 refreshSessions 命令定期刷新 session
没有很好的记录,所以这里有一个例子:
BsonDocument sid = client.startSession().getServerSession().getIdentifier();
在迭代器循环中
database.runCommand(new Document("refreshSessions",List.of(sid)));
关于java - 即使在设置 noCursorTimeout 后也找不到 mongo 游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52296108/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!