Repository navigation
Sync opencraft/verawood with upstream 2026-10-05--1791172725 - #866
Open
opencraft-requirements-bot wants to merge 1 commit into
Open
opencraft-requirements-bot wants to merge 1 commit into
opencraft-requirements-bot wants to merge 1 commit into
Conversation
…ackport openedx#39103) (openedx#39122) * feat: split Studio search into separate course and library indexes Library authoring waits synchronously on Meilisearch, and indexing cost grows with index size. On large instances the shared studio_content index is almost entirely course blocks, so creating a library component can time out (openedx#38993). Course content is indexed asynchronously and doesn't need to share an index with libraries. Course blocks stay in studio_content so existing course documents don't need reindexing. Libraries V2 blocks, containers and collections move to a new studio_library_content index. Writes are routed by document type or key context, rebuild locks and _new temp indexes are per index, and reconcile creates/configures both. The studio search endpoint now returns course_index_name and library_index_name with one tenant token covering both indexes. index_name is kept for one release, pointing at the course index. Existing installs run `reindex_studio --libraries-only` once after migrate. It rebuilds the library index and deletes `type != "course_block"` documents from the course index without reindexing courses. Full rebuilds run the same cleanup. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J43t1WXNsmVV5mbdzxv6iT * docs: drop multi-index frontend claim from index split ADR Each Studio search surface already queries course content or library content, never both, so the frontend picks one index per surface rather than issuing a multi-index search. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J43t1WXNsmVV5mbdzxv6iT * fix: abort library index rebuild on Meilisearch write failures The library pass logged and skipped MeilisearchError from add_documents, so a failed write still swapped the partial library index in and then deleted the library documents from the course index. rebuild_library_index also reported success, so its Celery autoretry never fired. index_course already lets these errors propagate; the library pass now does the same. Per-document build errors are still logged and skipped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JRNUbu4khegCEFfy4j9a5R * fix: drop pre-split library checkpoints from incremental reindex state IncrementalIndexCompleted rows only record a context key. A library row left by an interrupted run from before the index split means the library was written to the course index, but an incremental rebuild would trust it and skip the library for the new library index, then delete its old copies from the course index. Tutor's init job runs exactly that incremental reindex_studio after migrate. Clearing library rows once at migration time makes those libraries reindex; library passes are cheap, so no per-index checkpoint column is needed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JRNUbu4khegCEFfy4j9a5R * refactor: rename reconcile_index to reconcile_indexes Per review: reconcile_indexes() reconciles the course and library indexes, and reconcile_index(index_name) reconciles one. reconcile_index() shipped in Verawood taking no index name, so callers of that signature must switch to reconcile_indexes(). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JRNUbu4khegCEFfy4j9a5R --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Syncing
opencraft/verawoodwith upstream openedx/openedx-platform#release/verawood.This PR was auto-created by the sync-opencraft-forks-with-upstream workflow.
It may be reviewed in the scope of SE-6622 (private ticket).
Regular sync-ups like this one help reduce drift and ensure recent patches (security, fixes, etc.) are pulled in.
❗ Important
When merging, please always use the "Create a merge commit" option as it avoids issues when checking diffs with upstream later on.
In cases of conflicts you can go ahead and resolve them here on GitHub if it is simple enough. However if it is a more complicated conflict please follow the steps below:
sync-release/verawood-2026-10-05--1791172725locally:opencraft/verawoodinto that branch, make sure your[REMOTE]is pointing toopencraft/verawood:sync-release/verawood-2026-10-05--1791172725to update this PR.Note: As mentioned above, please use the "Create a merge commit" option when merging.