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")