java - 为什么 Casbah/Java MongoDB 驱动程序会出现 java.lang.I

我在使用 casbah/java 驱动程序时遇到了一个奇怪的问题。

当驱动程序尝试从 mongo 创建响应时,我不断遇到以下异常:


  Oct 16, 2012 10:45:07 AM com.mongodb.DBTCPConnector$MyPort error
  SEVERE: MyPort.error called
  java.lang.IllegalArgumentException: response too long: 1634610484
    at com.mongodb.Response.(Response.java:40)
    at com.mongodb.DBPort.go(DBPort.java:110)
    at com.mongodb.DBPort.go(DBPort.java:75)
    at com.mongodb.DBPort.call(DBPort.java:65)
    at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:201)
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
    at com.mongodb.DBCursor._check(DBCursor.java:354)
    at com.mongodb.DBCursor._hasNext(DBCursor.java:484)
    at com.mongodb.DBCursor.hasNext(DBCursor.java:509)
    at com.mongodb.casbah.MongoCursorBase$class.hasNext(MongoCursor.scala:73)
    at com.mongodb.casbah.MongoCursor.hasNext(MongoCursor.scala:497)
    at scala.collection.Iterator$class.foreach(Iterator.scala:660)
    at com.mongodb.casbah.MongoCursor.foreach(MongoCursor.scala:497)
        ...

这似乎是随机发生的,即使在 mongo 不应该从查询返回任何结果的情况下也是如此。报告的大小不一致,通常比它应该或可能的大得多。

我猜这可能是响应的某种形式的损坏。我在使用 Wireshark 解决这个问题时遇到了困难,但我始终发现,导致引发此错误的查询的请求/响应链具有来自 MongoDB 的“TCP Window Full”响应:

我正在使用的版本:


 Casbah: 2.1.5.0
 Mongo Java Driver: 2.5.3
 MongoDB: 2.2

如果有人能就我可能做错的事情或如何进一步调试此问题提供任何建议,我将不胜感激

更新:查看 Casbah 2.1.5.0 的发行说明后,使用的 java 驱动程序的版本似乎是 2.5.3,而不是 2.7。 3

最佳答案

您使用的 Java 驱动程序版本与 MongoDB 2.2 不兼容。如果不是 2.10 或更高版本,您应该至少使用 2.9.3。不能保证升级驱动程序会解决您的问题,但这应该是第一步。

https://support.mongolab.com/entries/22631012-which-drivers-support-mongodb-2-2

关于java - 为什么 Casbah/Java MongoDB 驱动程序会出现 java.lang.IllegalArgumentException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12917943/

相关文章:

mongodb - 在 MongoDb 中按 15 分钟的时间间隔对结果进行分组

mongodb - 使用 Mongoid 批量插入/更新?

mongodb - 查询 MongoDB 中的内部数组大小

python - 在日期时间的月、日、年...上查询 Mongodb

mongodb - 如何修复我的mongodb?

python - mongodb游标id无效错误

mongodb - 将 mongodb 数据库从本地主机迁移到远程服务器

c# - 如何通过 .NET 在 MongoDB 中创建索引

mongodb - 如何对 MongoDB 集合中所有文档的键值求和

javascript - Mongoose 查找/更新子文档