From c301052789aeea967016568b8e6693413d89d953 Mon Sep 17 00:00:00 2001 From: Yansong Zhang <916125788@qq.com> Date: Thu, 8 Jan 2026 10:45:28 +0800 Subject: [PATCH] add rowcount check --- api/services/credit_pool_service.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/api/services/credit_pool_service.py b/api/services/credit_pool_service.py index 8ae409809a..bc2ca6ca1e 100644 --- a/api/services/credit_pool_service.py +++ b/api/services/credit_pool_service.py @@ -61,7 +61,12 @@ class CreditPoolService: TenantCreditPool.quota_used + credits_required <= TenantCreditPool.quota_limit, ] stmt = update(TenantCreditPool).where(*where_conditions).values(**update_values) - session.execute(stmt) + result = session.execute(stmt) session.commit() + if result.rowcount == 0: + raise QuotaExceededError( + f"Insufficient credits. Required: {credits_required}, Available: {pool.remaining_credits}" + ) except Exception: + logger.exception("Failed to deduct credits for tenant %s", tenant_id) raise QuotaExceededError("Failed to deduct credits")