Bug: course_home/v1/navigation 500s until the CMS worker rewrites the learning_sequences outline

Author: bmtcrilCreated Sep 17, 2026Updated Sep 17, 2026
Labelsbughelp wanted

GET /api/course_home/v1/navigation/<course key> answers HTTP 500 with the LMS error page for a window after a publish. The log shows LearningContext.DoesNotExist then CourseOutlineData.DoesNotExist: No CourseOutlineData for <course key>.

The learning_sequences outline the view depends on is written by the CMS worker on the publish signal. On the measured run that task landed 33 s after the publish, because the same queue was carrying thousands of per-block content.search.tasks.upsert_xblock_index_doc tasks, each taking around 21 s. Until it lands the learner's course home cannot be built at all, while the neighbouring course_home/v1/outline view and the Blocks API both answer 200 for the same state.

Expected: treat a missing CourseOutlineData the way the outline view does, falling back to the unfiltered blocks or answering an empty model, rather than a 500.

Environment: Tutor main, 2026-09-11, with ENABLE_COURSEWARE_INDEX = True and Meilisearch-backed Studio content search on.

Source: openedx/openedx-platform