# PR #35844 完整报告

- 仓库：`sgl-project/sglang`
- 标题：refactor(disagg): remove dead get_embedding_port
- 合并时间：2026-08-21 18:12
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/35844

---

# 执行摘要

- 一句话：移除无调用的 get_embedding_port 及其 aiohttp 依赖
- 推荐动作：本 PR 价值有限，无需精读。若关注代码库整洁性，可借鉴其按文件拆分死代码清理、逐文件审查的模式。关键设计决策是通过仓库级检索确认无调用者，避免误删潜在接入点。

# 功能与动机

PR 描述指出 MMEncoder.get_embedding_port 没有任何调用者，且其目标路由不存在。它向 {prefill_url}/embedding_bootstrap 发起 POST，但 embedding_bootstrap 在仓库中无处可见，调用必然返回 404，因此是遗留的死代码而非待接线的辅助函数。删除后 aiohttp 在文件中不再使用，故一并移除。

# 实现拆解

本次变更仅涉及单一文件，通过以下步骤实现：
1. 在 python/sglang/srt/disaggregation/encoder/server.py 中删除 MMEncoder 类中的 get_embedding_port 方法（约 12 行），该方法负责创建 aiohttp 会话并向 /embedding_bootstrap 发送 POST 请求。
2. 同步移除 import aiohttp 语句，因为它是该文件中 aiohttp 的仅剩引用点。
3. 保留 requests as http_requests 等其它 HTTP 依赖，它们仍被文件其它部分使用。
4. 验证：通过仓库级搜索确认无调用者或端点存在，并通过 ruff、black、isort 检查。

关键文件：
- `python/sglang/srt/disaggregation/encoder/server.py`（模块 编码器服务；类别 source；类型 core-logic；符号 get_embedding_port）: 删除无调用的 get_embedding_port 方法及其 aiohttp 导入，是该 PR 的核心变更文件。

关键符号：get_embedding_port

## 关键源码片段

### `python/sglang/srt/disaggregation/encoder/server.py`

删除无调用的 get_embedding_port 方法及其 aiohttp 导入，是该 PR 的核心变更文件。

```python
# python/sglang/srt/disaggregation/encoder/server.py
# 删除前（base）：
# import aiohttp

# 删除后（head）：
# 不再导入 aiohttp，因为它是文件中唯一使用 aiohttp 的地方。

# 移除前的 get_embedding_port 方法（base）：
async def get_embedding_port(self, prefill_url):
    async with aiohttp.ClientSession(
        timeout=aiohttp.ClientTimeout(total=1800)
    ) as session:
        response = await session.post(
            f"{prefill_url}/embedding_bootstrap",
            json={"embedding_port": None},
        )
        response_json = await response.json()
        return response_json["embedding_port"]
# 该方法在仓库中无调用方，且目标路由不存在，属于死代码，已删除。

```

# 评论区精华

由于 review 评论为空，未提取到实质性讨论要点。PR 作者在 issue 评论中触发了测试重跑（test_epd_disaggregation.py），并通过了 CI。

- 暂无高价值评论线程

# 风险与影响

- 风险：本变更仅删除死代码，不涉及任何运行路径，风险极低。主要潜在风险是若未来需要重新引入该功能，需重新实现，但根据 PR 分析该路由本就不可用，因此无功能回归。
- 影响：对用户和系统无行为影响。对团队而言，降低了维护成本和认知负担，并为后续清理工作提供模式参考。
- 风险标记：暂无

# 关联脉络

- PR #35838 Cleanup disagg encoder dead code: 同系列死代码清理 PR，针对同一模块相关功能
- PR #35843 Cleanup disagg encoder dead code: 同系列死代码清理 PR，针对同一模块相关功能