From 75edce59c141eea9815dfeb44fa74acb66a63606 Mon Sep 17 00:00:00 2001 From: Prakhar Pratyush Date: Mon, 4 Nov 2024 15:51:21 +0530 Subject: [PATCH] process_downgrade: Add savepoint=False to avoid creating savepoint. 'process_downgrade' is used inside an outer db transaction created in 'remote_server_post_analytics'. `transaction.atomic()` block in 'process_downgrade' resulted in savepoint creation. This commit adds `savepoint=False` to avoid that. --- corporate/lib/stripe.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/corporate/lib/stripe.py b/corporate/lib/stripe.py index 58c36422e4..671102a1b2 100644 --- a/corporate/lib/stripe.py +++ b/corporate/lib/stripe.py @@ -4540,7 +4540,7 @@ class RemoteRealmBillingSession(BillingSession): def process_downgrade( self, plan: CustomerPlan, background_update: bool = False ) -> None: # nocoverage - with transaction.atomic(): + with transaction.atomic(savepoint=False): old_plan_type = self.remote_realm.plan_type new_plan_type = RemoteRealm.PLAN_TYPE_SELF_MANAGED self.remote_realm.plan_type = new_plan_type @@ -4967,7 +4967,7 @@ class RemoteServerBillingSession(BillingSession): def process_downgrade( self, plan: CustomerPlan, background_update: bool = False ) -> None: # nocoverage - with transaction.atomic(): + with transaction.atomic(savepoint=False): old_plan_type = self.remote_server.plan_type new_plan_type = RemoteZulipServer.PLAN_TYPE_SELF_MANAGED self.remote_server.plan_type = new_plan_type