{"record":{"id":"f62b6a711795aec5","repo":"sgl-project/sglang","slug":"failed-to-import-set-transfer-engine-from-moonc","errorCode":null,"errorMessage":"Failed to import 'set_transfer_engine' from 'mooncake.pg'. Please upgrade your 'mooncake-transfer-engine' installation to 0.3.11 or above.","messagePattern":"Failed to import 'set_transfer_engine' from 'mooncake\\.pg'\\. Please upgrade your 'mooncake-transfer-engine' installation to 0\\.3\\.11 or above\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"python/sglang/srt/distributed/device_communicators/mooncake_transfer_engine.py","lineNumber":356,"sourceCode":"        )\n        or get_exec().moe.elastic_ep_backend == \"mooncake\"\n    )\n\n    if use_mooncake_te:\n        init_mooncake_transfer_engine(\n            hostname=get_local_ip_auto(),\n            gpu_id=gpu_id,\n            ib_device=(\n                get_disagg().disaggregation_ib_device\n                or get_exec().moe.mooncake_ib_device\n            ),\n        )\n\n        if get_exec().moe.elastic_ep_backend == \"mooncake\":\n            try:\n                from mooncake.pg import set_transfer_engine\n            except ImportError as e:\n                raise ImportError(\n                    \"Failed to import 'set_transfer_engine' from 'mooncake.pg'. \"\n                    \"Please upgrade your 'mooncake-transfer-engine' \"\n                    \"installation to 0.3.11 or above.\"\n                ) from e\n            set_transfer_engine(_mooncake_transfer_engine.engine)\n","sourceCodeStart":338,"sourceCodeEnd":362,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/distributed/device_communicators/mooncake_transfer_engine.py#L338-L362","documentation":"When the elastic expert-parallel backend is set to 'mooncake' (--elastic-ep-backend mooncake), SGLang's shared-engine init imports set_transfer_engine from mooncake.pg to plug the TransferEngine into mooncake's process group. That helper only exists in mooncake-transfer-engine >= 0.3.11; on older installs the ImportError is re-raised with an upgrade instruction.","triggerScenarios":"Enabling moe.elastic_ep_backend == 'mooncake' (elastic EP with mooncake transport) on an environment where mooncake-transfer-engine < 0.3.11, so 'from mooncake.pg import set_transfer_engine' fails.","commonSituations":"Turning on elastic expert parallelism with the mooncake backend on a legacy image; upgrading SGLang to a version that expects mooncake.pg without upgrading mooncake; CI images pinned to an old mooncake wheel.","solutions":["pip install mooncake-transfer-engine>=0.3.11 --upgrade","Verify: python -c 'from mooncake.pg import set_transfer_engine'","Or switch elastic EP backend away from mooncake if you cannot upgrade (e.g. use the default backend)"],"exampleFix":"# before\npython -m sglang.launch_server ... --elastic-ep-backend mooncake\n# ImportError: Failed to import 'set_transfer_engine' from 'mooncake.pg' ...\n\n# after\npip install 'mooncake-transfer-engine>=0.3.11' --upgrade\npython -m sglang.launch_server ... --elastic-ep-backend mooncake","handlingStrategy":"validation","validationCode":"try:\n    from mooncake.pg import set_transfer_engine  # noqa: F401\n    ok = True\nexcept ImportError:\n    ok = False\nif backend == 'mooncake' and not ok:\n    raise RuntimeError('mooncake>=0.3.11 required for elastic EP mooncake backend')","typeGuard":null,"tryCatchPattern":"try:\n    maybe_init_shared_mooncake_transfer_engine()\nexcept ImportError as e:\n    if 'mooncake.pg' in str(e):\n        # switch elastic EP backend or fail with upgrade instruction\n        ...\n    raise","preventionTips":["Only set --elastic-ep-backend mooncake after confirming mooncake>=0.3.11","Pre-check import mooncake.pg in deploy scripts","Version-lock mooncake in the serving image"],"tags":["mooncake","version-mismatch","elastic-ep","import-error","sglang"],"backgroundTag":"library-version-mismatch","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}