From 4dabfbc827d4cd4a5e1d1dd5718afeb87ffbcb6c Mon Sep 17 00:00:00 2001 From: Zaili Wang <109502517+ZailiWang@users.noreply.github.com> Date: Fri, 12 Dec 2025 15:12:26 +0800 Subject: [PATCH] [Fix] suppress remote weight loading engine w/o mooncake installed (#14937) --- python/sglang/srt/server_args.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/python/sglang/srt/server_args.py b/python/sglang/srt/server_args.py index 1782982f0..bc17db6f8 100644 --- a/python/sglang/srt/server_args.py +++ b/python/sglang/srt/server_args.py @@ -2226,18 +2226,25 @@ class ServerArgs: self.skip_server_warmup = True def _handle_remote_instance_weight_loader_support_transfer_engine(self): - if importlib.util.find_spec("mooncake.engine") is None: + try: + importlib.import_module("mooncake") + if importlib.util.find_spec("mooncake.engine") is None: + logger.warning( + f"Failed to import mooncake.engine. Does not support using TransferEngine as remote instance weight loader backend." + ) + self.remote_instance_weight_loader_support_transfer_engine = False + elif self.enable_memory_saver: + logger.warning( + "Memory saver is enabled, which is not compatible with TransferEngine. Does not support using TransferEngine as remote instance weight loader backend." + ) + self.remote_instance_weight_loader_support_transfer_engine = False + else: + self.remote_instance_weight_loader_support_transfer_engine = True + except ImportError: logger.warning( - f"Failed to import mooncake.engine. Does not support using TransferEngine as remote instance weight loader backend." + f"Failed to import mooncake. Does not support using TransferEngine as remote instance weight loader backend." ) self.remote_instance_weight_loader_support_transfer_engine = False - elif self.enable_memory_saver: - logger.warning( - "Memory saver is enabled, which is not compatible with TransferEngine. Does not support using TransferEngine as remote instance weight loader backend." - ) - self.remote_instance_weight_loader_support_transfer_engine = False - else: - self.remote_instance_weight_loader_support_transfer_engine = True @staticmethod def add_cli_args(parser: argparse.ArgumentParser):