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

Solr may timeout during optimize

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • 3.1
    • 3.1
    • Global search

      After index updates, optimize is called on Solr. The problem is that Solr may take longer than the default 30 second timeout to index (on our dataset it's taking about 45 seconds).

      Scheduled task failed: Global search indexing (core\task\search_task),Solr HTTP Error 28: 'Timeout was reached' 
      Backtrace:
      * line 332 of /search/engine/solr/classes/engine.php: call to SolrClient->optimize()
      * line 461 of /search/classes/manager.php: call to search_solr\engine->optimize()
      * line 58 of /lib/classes/task/search_task.php: call to core_search\manager->optimize_index()
      * line 137 of /admin/tool/task/cli/schedule_task.php: call to core\task\search_task->execute()
      

      While the timeout isn't that horrible (the optimize seems to complete anyways), it results in the task "failing" because the exception isn't caught.

      I recommend two solutions (I would do both):

      1. Catch timeout exceptions and just discard them. We don't track or return the output of optimize, so we can just catch the SolrClientException and pitch it.
      2. Add a param to get_search_client (or the constructor of engine) that allows you to get an "maintenance" client, which has a long(er) timeout set, much in the same way we set long timeouts when doing various other tasks in Moodle.

            emerrill Eric Merrill
            emerrill Eric Merrill
            David Monllaó David Monllaó
            Andrew Lyons Andrew Lyons
            Adrian Greeve Adrian Greeve
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.