Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-63731

Global Search very slow or runs out of memory if a user has access to a lot of courses

    XMLWordPrintable

Details

    • MOODLE_310_STABLE, MOODLE_35_STABLE, MOODLE_38_STABLE, MOODLE_39_STABLE, MOODLE_401_STABLE
    • 3
    • HQ Team International Sprint 6, HQ Team International Sprint 7

    Description

      We're experiencing an issue with Global Search when a user has access to a large number of courses and resources. It seems to be a similar issue to MDL-60826 but for search rather than calendar.

      Much like that calendar bug, it looks like the search engine builds a list of contexts the user can access and filters the Solr results so users only see things they have access to. This section of code appears to be failing on users with access to a large amount of material.

      If a user tries to use the search box, and they have been given Manager access either at site level or to a category with lots of subcategories and courses, the page will stall for several minutes until it reaches the PHP memory limit, at which point it dies.

      Site administrators aren't affected, because the context gathering code is skipped and the function just returns 'everything'.

      Ordinary teachers and students aren't affected, because they don't have access to a ridiculous number of contexts.

      I'm away from my work computer right now, but I've had a quick look and get_areas_user_accesses() in /search/clases/manager.php is my prime suspect.

      Attachments

        1. ec71dbb0-330b-4aac-81a6-b74901268c15.png
          1.89 MB
          Brendan Heywood
        2. image-2021-04-06-11-37-12-173.png
          134 kB
          Monty Panday
        3. image-2021-07-19-09-44-20-645.png
          54 kB
          Monty Panday
        4. image-2021-07-19-09-52-16-789.png
          35 kB
          Monty Panday

        Issue Links

          Activity

            People

              Unassigned Unassigned
              lexx_koto Alex Walker
              David Woloszyn, Huong Nguyen, Jake Dallimore, Meirza, Michael Hawkins, Raquel Ortega, Safat Shahin, Stevani Andolo, Matteo Scaramuccia, David Woloszyn, Huong Nguyen, Jake Dallimore, Meirza, Michael Hawkins, Raquel Ortega, Safat Shahin, Stevani Andolo
              Votes:
              36 Vote for this issue
              Watchers:
              37 Start watching this issue

              Dates

                Created:
                Updated: