mongodb sort exceeded memory limit Ошибка при сортировке больших данных // allowDiskUse или internalQueryFacetBufferSizeBytes
Primary tabs
Ошибка может выглядеть как-то так:
Error:
Assert: command failed: {
"ok" : 0,
"errmsg" : "Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in.",
"code" : 16819
} : aggregate failed
_getErrorWithCode@src/mongo/shell/utils.js:23:13
doassert@src/mongo/shell/assert.js:13:14
assert.commandWorked@src/mongo/shell/assert.js:266:5
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1215:5
@(shell):1:1Error: command failed: {
"ok" : 0,
"errmsg" : "Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in.",
"code" : 16819
} : aggregate failed :
_getErrorWithCode@src/mongo/shell/utils.js:23:13
doassert@src/mongo/shell/assert.js:13:14
assert.commandWorked@src/mongo/shell/assert.js:266:5
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1215:5
@(shell):1:1
Использование диска
Обычнм решение является добавление опции:
"allowDiskUse":true
Увеличение лимита оперативной памяти
Судя по числу (104857600) на моей машине (монго 3.2) можно было бы поменять параметр:
"internalQueryFacetBufferSizeBytes" : 104857600,
Но его нет в списке опций которые можно выставить
-- проверить есть ли он в вашей версии можно командой:
db.adminCommand({setParameter: 1, internalQueryFacetBufferSizeBytes: 888000000,help: true})
Параметр доступен, начиная с монго 3.4: https://docs.mongodb.com/manual/referenc...
- Log in to post comments
- 4070 reads