# PR #50171 完整报告

- 仓库：`vllm-project/vllm`
- 标题：[CI][NIXL] Fix flaky DP+EP test port conflict
- 合并时间：2026-07-29 08:12
- 原文链接：http://prhub.com.cn/vllm-project/vllm/pull/50171

---

# 执行摘要

- 一句话：修复 NIXL DP+EP 测试端口冲突
- 推荐动作：建议合并。这是一个小的测试修复，逻辑清晰，已验证通过。

# 功能与动机

在 DP+EP 模式下，解码实例的端口未显式设置，可能继承固定基端口，与预填充实例的端口范围产生竞争，导致超时。通过设置 `VLLM_DP_MASTER_PORT` 为 DP 进程组保留独立端口范围，消除竞态条件。

# 实现拆解

1. **修改脚本**：在 `tests/v1/kv_connector/nixl_integration/run_accuracy_test.sh` 中，调整解码实例的端口设置逻辑。
2. **条件分支**：当 `DP_EP` 变量非空时，设置 `VLLM_DP_MASTER_PORT=$INTERNAL_PORT` 替代原来的 `VLLM_PORT`。
3. **注释增强**：增加注释说明非 DP 模式使用 `VLLM_PORT`，DP 模式使用 `VLLM_DP_MASTER_PORT` 以避免竞争。

关键文件：
- `tests/v1/kv_connector/nixl_integration/run_accuracy_test.sh`（模块 集成测试；类别 test；类型 test-coverage）: 核心变更文件，修改了 DP 模式下端口设置逻辑，修复端口冲突导致的测试不稳定。

关键符号：未识别

## 关键源码片段

### `tests/v1/kv_connector/nixl_integration/run_accuracy_test.sh`

核心变更文件，修改了 DP 模式下端口设置逻辑，修复端口冲突导致的测试不稳定。

```bash
# 在 run_accuracy_test.sh 中，解码实例端口设置逻辑变更

INTERNAL_PORT=$((DECODER_INTERNAL_PORT_BASE + i * INTERNAL_PORT_STRIDE))
# 对于非 DP 模式，设置 VLLM_PORT 以固定内部端口；
# 对于 DP 模式，设置 VLLM_DP_MASTER_PORT 以避免竞态条件。
if [[ -z "${DP_EP:-}" ]]; then
  DECODER_INTERNAL_PORT_ENV="VLLM_PORT=$INTERNAL_PORT"
else
  DECODER_INTERNAL_PORT_ENV="VLLM_DP_MASTER_PORT=$INTERNAL_PORT"
fi

```

# 评论区精华

无 review 讨论。PR 由维护者 AndreasKaratzas 直接批准。

- 暂无高价值评论线程

# 风险与影响

- 风险：变更仅影响测试脚本中的一个条件分支，风险极低。如果 `VLLM_DP_MASTER_PORT` 环境变量未被正确识别，可能导致 DP 模式端口未显式设置，但不会引入新问题。
- 影响：影响范围仅限于 NIXL 集成测试的 DP+EP 场景，减少测试的 flakiness 和超时重试，提高 CI 稳定性。对其他场景无影响。
- 风险标记：低风险

# 关联脉络

- 暂无明显关联 PR