【发布时间】:2019-05-15 21:09:10
【问题描述】:
我无法找到如何在我的 mongo 配置文件中设置 internalQueryExecMaxBlockingSortBytes。
我遇到了以下错误消息:
OperationFailure:查找命令期间执行器错误:OperationFailed: 排序操作使用了超过最大 33554432 字节的 RAM。添加 一个索引,或指定一个较小的限制。
我不知道为什么它说设置一个较小的限制,我想我想增加限制。我已经看到我可以按照this SO answer 中的说明使用以下命令手动设置参数:
> db.adminCommand({setParameter: 1, internalQueryExecMaxBlockingSortBytes:50151432})
{ "was" : 33554432, "ok" : 1 }
我正在使用以下版本的 Mongo:
MongoDB shell version v3.4.10
MongoDB server version: 3.4.10
在查看文档时,我没有看到提到 internalQueryExecMaxBlockingSortBytes。我假设我可以使用setParameter 设置此参数:
setParameter:
internalQueryExecMaxBlockingSortBytes: 67108864
但是https://docs.mongodb.com/v3.4/reference/parameters/ 中没有提到这个选项。是来自另一个版本的 Mongo 的设置吗?我可以在 v3.4 中使用它吗?
【问题讨论】:
-
jira.mongodb.org/browse/SERVER-23768 说这是 yaml 格式记录在这里,记录的参数在这里列出。没有具体记录的原因是它不是公共 MongoDB API 的一部分,我们不想承诺在所有未来版本中都支持它,这就是为什么它以“internal”为前缀。聚合管道已经支持将外部排序溢出到磁盘,并且有一个开放的功能请求将此功能扩展到常规查询:SERVER-7694。