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
- pip install mooncake-transfer-engine --upgrade on all nodes
- 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
- Feature-detect setup() kwargs at startup
- Standardize mooncake version across the cluster
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
- The installed Mooncake version does not support tenant_id in
- Please install mooncake by following the instructions at htt
- Mooncake's batch register requires a newer version of moonca
- Mooncake's batch transfer requires mooncake-transfer-engine
- Failed to import 'set_transfer_engine' from 'mooncake.pg'. P
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/540b6c32d1361c26.
Report an issue: GitHub.