-
Bug
-
Resolution: Fixed
-
Major
-
3.2.6, 3.3.3
-
MOODLE_32_STABLE, MOODLE_33_STABLE
-
MOODLE_32_STABLE, MOODLE_33_STABLE
-
MDL-60720-master -
Due to a bug in skip_future_documents_iterator, if any search area returns false to get_document, indexing halts at that point.
This is a serious bug as it prevents all indexing from that point on. For example, in our test data, we have a Page from 2011 that is failing (returning false to get_document); in our system, no pages from 2011 onward are being indexed.
Worse, because the indexing is not recorded as 'partial' (i.e. the system thinks it has completed the index, even though it stopped in 2011), the system may then try to continue from the current time (rather than where it got up to), i.e. it will index new pages created now in 2017, but there will be a massive gap from 2011 to 2017...
In addition to this serious bug there is a less serious problem with the iterator - because it repeatedly calls the parent iterator's current() function, this results in two calls to the search system get_document() which in some cases can be a slow function involving multiple database queries.
- is a regression caused by
-
MDL-60357 core_search: Future modified times cause serious problems
- Closed