From 896b3cb170d444db015211cb40dcd729d56026a6 Mon Sep 17 00:00:00 2001 From: Awais Jibran Date: Wed, 31 Aug 2016 10:32:17 +0500 Subject: [PATCH] Do not to run all enrollment updates in a single atomic transaction, but separate. ECOM-5405 --- .../student/management/commands/bulk_change_enrollment.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/common/djangoapps/student/management/commands/bulk_change_enrollment.py b/common/djangoapps/student/management/commands/bulk_change_enrollment.py index f7cb6d6762..371a8a9e33 100644 --- a/common/djangoapps/student/management/commands/bulk_change_enrollment.py +++ b/common/djangoapps/student/management/commands/bulk_change_enrollment.py @@ -91,9 +91,10 @@ class Command(BaseCommand): if not commit: logger.info('Dry run, changes have not been saved. Run again with "commit" argument to save changes') raise Exception('The --commit flag was not given; forcing rollback.') - with transaction.atomic(): - # call `change_mode` which will change the mode and also emit tracking event - for enrollment in course_enrollments: + + # call `change_mode` which will change the mode and also emit tracking event + for enrollment in course_enrollments: + with transaction.atomic(): enrollment.change_mode(mode=to_mode) logger.info('Finished moving users from %s to %s in course %s.', from_mode, to_mode, course_key_str)