{"record":{"id":"3fafa195e632af35","repo":"BerriAI/litellm","slug":"error-resolving-guardrails-from-db-e","errorCode":null,"errorMessage":"Error resolving guardrails from DB: {e}","messagePattern":"Error resolving guardrails from DB: (.+?)","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"litellm/proxy/policy_engine/policy_registry.py","lineNumber":739,"sourceCode":"                            \"remove\": policy_response.guardrails_remove,\n                        },\n                        \"condition\": policy_response.condition,\n                        \"pipeline\": policy_response.pipeline,\n                    },\n                )\n                temp_policies[policy_response.policy_name] = policy\n\n            # Use the existing PolicyResolver to resolve guardrails\n            resolved_policy: Final = PolicyResolver.resolve_policy_guardrails(\n                policy_name=policy_name,\n                policies=temp_policies,\n                context=None,  # No context needed for simple resolution\n            )\n\n            return sorted(resolved_policy.guardrails)\n        except Exception as e:\n            verbose_proxy_logger.exception(\"Error resolving guardrails from DB: %s\", e)\n            raise Exception(f\"Error resolving guardrails from DB: {e}\")\n\n    async def get_versions_by_policy_name(\n        self,\n        policy_name: str,\n        prisma_client: \"PrismaClient\",\n    ) -> PolicyVersionListResponse:\n        \"\"\"\n        Get all versions of a policy by name, ordered by version_number descending.\n\n        Args:\n            policy_name: Name of the policy\n            prisma_client: The Prisma client instance\n\n        Returns:\n            PolicyVersionListResponse with policy_name and list of versions\n        \"\"\"\n        try:\n            rows: Final = await _policy_table(prisma_client).find_many(","sourceCodeStart":721,"sourceCodeEnd":757,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/policy_engine/policy_registry.py#L721-L757","documentation":"Catch-all raised while resolving a policy's inherited guardrails from DB-backed policies: building temporary Policy objects from DB rows or running PolicyResolver.resolve_policy_guardrails over them failed; the original exception is embedded in the message.","triggerScenarios":"Thrown at litellm/proxy/policy_engine/policy_registry.py:739 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check DB connectivity; verify referenced guardrails exist, then retry policy resolution."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}