BerriAI/litellm · error · HTTPException

Access group '{access_group}' was saved to the database, but

Error message

Access group '{access_group}' was saved to the database, but model id(s) {list(gone)} that this pod was serving are no longer live after the reload it triggered. Other pods reload on their own interval. Check server logs for 'Error upserting deployment' for the cause.

What it means

Error "Access group '{access_group}' was saved to the database, but model id(s) {list(gone)} that this pod was serving are no longer live after the reload it triggered. Other pods reload on their own interval. Check server logs for 'Error upserting deployment' for the cause." thrown in BerriAI/litellm.

Source

Thrown at litellm/proxy/management_endpoints/model_access_group_management_endpoints.py:114

    return model_info, True


def _raise_http_if_reload_degraded_serving(
    before: frozenset[str],
    written_models: Sequence[tuple[str, object]],
    access_group: str,
) -> None:
    """Same verdict as the model-write endpoints, expressed through this file's
    HTTPException error convention, with the metadata-only obligation: these writes
    change group membership, not the models themselves, so a row that was already not
    serving before the reload is never blamed here; only a model this reload stopped
    serving is reported."""
    missing, collateral = reload_serving_verdict(before=before, written_models=written_models, written_must_serve=False)
    gone: Final = tuple(dict.fromkeys((*missing, *collateral)))
    if not gone:
        return
    raise HTTPException(
        status_code=500,
        detail={
            "error": (
                f"Access group '{access_group}' was saved to the database, but model id(s) {list(gone)} that "
                "this pod was serving are no longer live after the reload it triggered. Other pods reload on "
                "their own interval. Check server logs for 'Error upserting deployment' for the cause."
            )
        },
    )


async def _tag_deployment_with_access_group(
    model_id: str,
    model_info: object,
    access_group: str,
    prisma_client: PrismaClient,
) -> tuple[str, Mapping[str, object]] | None:
    """Write `access_group` into one deployment's model_info; returns the

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Check server logs for 'Error upserting deployment' to find why the model ids went away.
  2. Re-add the missing models, then re-save the access group.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/management_endpoints/model_access_group_management_endpoints.py:114 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/75842640cffa44dd. Report an issue: GitHub.