Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • N noc
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 445
    • Issues 445
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 18
    • Merge requests 18
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • noc
  • noc
  • Issues
  • #1283
Closed
Open
Issue created Apr 06, 2020 by Andrey Vertiprahov@aversantDeveloper

Выпадение отчёта по ошибке Sort exceeded memory limit

При значительном числе интерфейсов или линков чать отчётов начинают выпадать с ошибкой <class 'pymongo.errors.OperationFailure'> Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in.. Пример:

db.noc.links.aggregate([{"$unwind": "$interfaces"}, {"$lookup": {"foreignField": "_id", "as": "int", "from": "noc.interfaces", "localField": "interfaces"}}, {"$group": {"count": {"$sum": 1}, "_id": "$int.managed_object"}}, {"$sort": {"_id": 1}}])

Появление подобной ошибки является следствием большого числа объектов в коллекции MongoDB Aggregation limit. Также есть описаниеДля исправления возможно:

  1. Увеличить размер памяти, выделяемой стадиям aggregate
  2. Использовать в запросе ключ allowDiskUse
  3. Создать дополнительный индекс в коллекции
  4. Оптимизировать запрос (насколько возможно)
Edited Apr 06, 2020 by Andrey Vertiprahov
Assignee
Assign to
Time tracking