sgl-project/sglang · error · RuntimeError

The installed Mooncake version does not support tenant_id in

Error message

The installed Mooncake version does not support tenant_id in MooncakeDistributedStore.setup(). Please upgrade Mooncake to use non-default Mooncake tenants with SGLang.

What it means

MooncakeDistributedStore.setup() raised TypeError naming tenant_id: the installed Mooncake's setup() signature does not accept tenant_id, and a non-default tenant was requested. SGLang computes unsupported_kwargs from the TypeError message and raises this dedicated upgrade error.

Source

Thrown at python/sglang/srt/mem_cache/storage/mooncake_store/mooncake_store.py:533

                            client_hostname,
                            self.config.metadata_server,
                            per_rank_global_segment_size,
                            DEFAULT_LOCAL_BUFFER_SIZE,  # Zero copy interface does not need local buffer
                            self.config.protocol,
                            device_name,
                            self.config.master_server_address,
                            transfer_engine,
                            **setup_kwargs,
                        )
                        break
                    except TypeError as e:
                        unsupported_kwargs = [
                            key for key in list(setup_kwargs) if key in str(e)
                        ]
                        if not unsupported_kwargs:
                            raise
                        if "tenant_id" in unsupported_kwargs:
                            raise RuntimeError(
                                "The installed Mooncake version does not support "
                                "tenant_id in MooncakeDistributedStore.setup(). "
                                "Please upgrade Mooncake to use non-default "
                                "Mooncake tenants with SGLang."
                            ) from e
                        logger.warning(
                            "The installed Mooncake version does not support the "
                            f"{', '.join(unsupported_kwargs)} parameter(s) in setup(). "
                            f"Retrying without {', '.join(unsupported_kwargs)}. "
                            "Please upgrade Mooncake to enable SSD offload support."
                        )
                        for key in unsupported_kwargs:
                            setup_kwargs.pop(key, None)
            if ret_code:
                raise RuntimeError(
                    f"Failed to setup Mooncake store, error code: {ret_code}"
                )
            logger.info("Mooncake store setup successfully.")

View on GitHub (pinned to 0132848349)

Solutions

  1. pip install mooncake-transfer-engine --upgrade on all nodes
  2. Or unset tenant_id to use the default tenant
Defensive patterns

Strategy: type-guard

Validate before calling

import inspect
from mooncake.store import MooncakeDistributedStore
ok = 'tenant_id' in inspect.signature(MooncakeDistributedStore.setup).parameters
if tenant_id not in (None, 'default') and not ok:
    tenant_id = 'default'  # or abort and ask for upgrade

Type guard

def mooncake_supports_tenant() -> bool:
    import inspect
    from mooncake.store import MooncakeDistributedStore
    return 'tenant_id' in inspect.signature(MooncakeDistributedStore.setup).parameters

Try / catch

try:
    ms = MooncakeStore(...)
except RuntimeError as e:
    if 'tenant_id' in str(e):
        kwargs['tenant_id'] = 'default'
        ms = MooncakeStore(...)
    else:
        raise

Prevention

When it happens

Trigger: MooncakeStore __init__ with tenant_id != default while installed mooncakestore predates tenant support.

Common situations: Setting MOONCAKE_TENANT_ID / tenant_id in config with an old mooncake wheel; mixed-version cluster where one node has old mooncake.

Related errors


AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28). Data as JSON: /api/errors/540b6c32d1361c26. Report an issue: GitHub.