There's a uniqueness constraint violation. I think this might be related to having a DAG in the course?
I don't think Grape Ape is publicly available. This is mostly a reminder for myself to look into later.
cms-1 | 2026-05-01 02:34:03,023 ERROR 1255 [cms.djangoapps.modulestore_migrator.tasks] [user 3] [ip 150.171.73.16] tasks.py:658 - Failed: {source_data.migration}
cms-1 | Traceback (most recent call last):
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
cms-1 | return self.cursor.execute(sql, params)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/backends/mysql/base.py", line 76, in execute
cms-1 | return self.cursor.execute(query, args)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/MySQLdb/cursors.py", line 179, in execute
cms-1 | res = self._query(mogrified_query)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/MySQLdb/cursors.py", line 330, in _query
cms-1 | db.query(q)
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/MySQLdb/connections.py", line 286, in query
cms-1 | _mysql.connection.query(self, query)
cms-1 | MySQLdb.IntegrityError: (1062, "Duplicate entry '11-1534' for key 'modulestore_migrator_modulestoreblockmigration.modulestore_migrator_mod_overall_migration_id_sou_d0de4cc5_uniq'")
cms-1 |
cms-1 | The above exception was the direct cause of the following exception:
cms-1 |
cms-1 | Traceback (most recent call last):
cms-1 | File "/openedx/edx-platform/cms/djangoapps/modulestore_migrator/tasks.py", line 649, in bulk_migrate_from_modulestore
cms-1 | _create_migration_artifacts_incrementally(
cms-1 | File "/openedx/edx-platform/cms/djangoapps/modulestore_migrator/tasks.py", line 1099, in _create_migration_artifacts_incrementally
cms-1 | models.ModulestoreBlockMigration.objects.create(
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
cms-1 | return getattr(self.get_queryset(), name)(*args, **kwargs)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/models/query.py", line 665, in create
cms-1 | obj.save(force_insert=True, using=self.db)
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/model_utils/models.py", line 43, in save
cms-1 | super().save(*args, **kwargs)
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/models/base.py", line 902, in save
cms-1 | self.save_base(
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/models/base.py", line 1008, in save_base
cms-1 | updated = self._save_table(
cms-1 | ^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/models/base.py", line 1169, in _save_table
cms-1 | results = self._do_insert(
cms-1 | ^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/models/base.py", line 1210, in _do_insert
cms-1 | return manager._insert(
cms-1 | ^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
cms-1 | return getattr(self.get_queryset(), name)(*args, **kwargs)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/models/query.py", line 1873, in _insert
cms-1 | return query.get_compiler(using=using).execute_sql(returning_fields)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1882, in execute_sql
cms-1 | cursor.execute(sql, params)
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/debug_toolbar/panels/sql/tracking.py", line 235, in execute
cms-1 | return self._record(super().execute, sql, params)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/debug_toolbar/panels/sql/tracking.py", line 160, in _record
cms-1 | return method(sql, params)
cms-1 | ^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 122, in execute
cms-1 | return super().execute(sql, params)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 79, in execute
cms-1 | return self._execute_with_wrappers(
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
cms-1 | return executor(sql, params, many, context)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 100, in _execute
cms-1 | with self.db.wrap_database_errors:
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__
cms-1 | raise dj_exc_value.with_traceback(traceback) from exc_value
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
cms-1 | return self.cursor.execute(sql, params)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/django/db/backends/mysql/base.py", line 76, in execute
cms-1 | return self.cursor.execute(query, args)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/MySQLdb/cursors.py", line 179, in execute
cms-1 | res = self._query(mogrified_query)
cms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/MySQLdb/cursors.py", line 330, in _query
cms-1 | db.query(q)
cms-1 | File "/openedx/venv/lib/python3.12/site-packages/MySQLdb/connections.py", line 286, in query
cms-1 | _mysql.connection.query(self, query)
cms-1 | django.db.utils.IntegrityError: (1062, "Duplicate entry '11-1534' for key 'modulestore_migrator_modulestoreblockmigration.modulestore_migrator_mod_overall_migration_id_sou_d0de4cc5_uniq'")
There's a uniqueness constraint violation. I think this might be related to having a DAG in the course?
I don't think Grape Ape is publicly available. This is mostly a reminder for myself to look into later.