{"record":{"id":"c10b65db9aa82861","repo":"BerriAI/litellm","slug":"redis-cache-not-configured","errorCode":null,"errorMessage":"Redis cache not configured.","messagePattern":"Redis cache not configured\\.","errorType":"http","errorClass":"HTTPException","httpStatus":500,"severity":"error","filePath":"litellm/proxy/response_api_endpoints/endpoints.py","lineNumber":820,"sourceCode":"        llm_router,\n        proxy_config,\n        proxy_logging_obj,\n        redis_usage_cache,\n        select_data_generator,\n        user_api_base,\n        user_max_tokens,\n        user_model,\n        user_request_timeout,\n        user_temperature,\n        version,\n    )\n    from litellm.proxy.response_polling.polling_handler import ResponsePollingHandler\n\n    # Check if this is a polling ID\n    if ResponsePollingHandler.is_polling_id(response_id):\n        # Handle polling response deletion\n        if not redis_usage_cache:\n            raise HTTPException(status_code=500, detail=\"Redis cache not configured.\")\n\n        polling_handler: Final = ResponsePollingHandler(redis_cache=redis_usage_cache)\n\n        # Get state to verify access\n        state: Final = await polling_handler.get_state(response_id)\n\n        if not state:\n            raise HTTPException(status_code=404, detail=f\"Polling response {response_id} not found\")\n\n        # Delete from cache\n        success: Final = await polling_handler.delete_polling(response_id)\n\n        if success:\n            return DeleteResponseResult(id=response_id, object=\"response\", deleted=True)\n        else:\n            raise HTTPException(status_code=500, detail=\"Failed to delete polling response\")\n\n    # Normal provider response flow","sourceCodeStart":802,"sourceCodeEnd":838,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/response_api_endpoints/endpoints.py#L802-L838","documentation":"Polling guard on response deletion: the response_id identifies a polling response, but the proxy has no redis_usage_cache configured. Deleting a polled async response requires removing its cached state, so the operation is refused with a 500 configuration error.","triggerScenarios":"Thrown at litellm/proxy/response_api_endpoints/endpoints.py:820 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Configure Redis in the proxy config; this endpoint requires the Redis cache backend."],"exampleFix":null,"handlingStrategy":"validation","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"}