【发布时间】:2013-09-12 21:01:35
【问题描述】:
有时我会从 MongoDB Java 驱动程序 2.10.1 中得到这个异常:
java.lang.IllegalArgumentException: response too long: 1912733750
at com.mongodb.Response.<init>(Response.java:47)
at com.mongodb.DBPort.go(DBPort.java:124)
at com.mongodb.DBPort.call(DBPort.java:74)
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:286)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:310)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
at com.mongodb.DBCursor._check(DBCursor.java:368)
at com.mongodb.DBCursor._hasNext(DBCursor.java:459)
at com.mongodb.DBCursor.hasNext(DBCursor.java:484)
显然,我的回复并没有那么长。实际上它很小,集合中只有 1000 个项目,每个项目 100-500 字节。为什么会发生这种情况?
【问题讨论】:
-
将 MongoDB java 驱动程序升级到 2.11.2 版本 NOT 解决问题
-
你有多个线程使用同一个光标吗?
-
如果我没记错的话,该错误表明您的响应大小接近 2GB。您介意向我们展示实际的查询吗?我认为这是您正在运行的聚合?