Bug: clipboard 500 (deadlock) under parallel authoring load

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

Copying a block to the clipboard intermittently answers 500 {"error": "The Studio servers encountered an error"}. The CMS log shows:

django.db.utils.OperationalError: (1213, 'Deadlock found when trying to get
lock; try restarting transaction')

from content_staging/views.py:136api.py:189 save_xblock_to_user_clipboardmodels.py:176 UserClipboard.save, on the update_or_create of the row.

Load-dependent and somewhat rare: four deadlocks across an E2E CI run. Each concurrent copy was made by a different user, so the contention is not two writers on one clipboard row; the surrounding transaction takes locks in an order another concurrent CMS write can cross.

Expected: retry the deadlock, as the platform does elsewhere for 1213, or narrow the transaction.

Source: openedx/openedx-platform