| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[bugfix]修复压行问题 Co-authored-by: hxy<huxinyi9@huawei.com> # message auto-generated for no-merge-commit merge: !430 merge fix/remove-log-repr-compression into master [bugfix]修复压行问题 Created-by: hu-xinyi_555 Commit-by: hxy Merged-by: towncharlie Description: ## **1. 合入背景** 当前日志太长时会被强制缩略为一行,非常影响阅读 ## **2. 修改内容** 去掉强制压缩为一行的行为 ## **3. 资料变更** 不涉及 ## **4. 接口变更** 不涉及 ## **5. 测试结果**  ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!430 | 2 个月前 | |
[feature]增加Mooncake Conductor故障恢复的RAS能力 Co-authored-by: zhoujing101<zhoujing101@huawei.com> # message auto-generated for no-merge-commit merge: !337 merge master into master [feature]增加Mooncake Conductor故障恢复的RAS能力 Created-by: zhoujing101 Commit-by: zhoujing101 Merged-by: towncharlie Description: ## **1. 合入背景** Mooncake Conductor缺少RAS能力,发生故障重启后,无法正常重新工作。 需要增加重注册能力,依赖mooncake社区PR( https://github.com/kvcache-ai/Mooncake/pull/2595 ) 合入后提供查询已注册实例信息接口。 [#212](https://gitcode.com/Ascend/MindIE-PyMotor/issues/212) ## **2. 修改内容** 开启kv cache亲和性调度时,每隔30秒(可配置,配置为0则不重注册)会去conductor获取一次实例列表(依赖PR: https://github.com/kvcache-ai/Mooncake/pull/2595 ),对比差异,将缺少的实例补注册到Condutor。 ## **3. 资料变更** “不涉及”。 ## **4. 接口变更** “不涉及”。 ## **5. 测试结果** 正常情况:  当mooncake conductor发生重启时:  ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 --- # 测试用例总结 ## 1. tests/config/test_config_utils.py — 配置解析(9 个用例) ### TestResolveReRegisterIntervalSec | 测试方法 | 覆盖场景 | 预期结果 | |---|---|---| | test_returns_default_when_motor_coordinator_missing | 顶层 motor_coordinator_config 键缺失 | 返回 DEFAULT_RE_REGISTER_INTERVAL_SEC (30) | | test_returns_default_when_motor_coordinator_not_dict | motor_coordinator_config 值不是 dict | 返回默认值 30 | | test_returns_default_when_prefill_kv_event_config_missing | motor_coordinator 存在但缺少 prefill_kv_event_config | 返回默认值 30 | | test_returns_default_when_prefill_kv_event_config_not_dict | prefill_kv_event_config 存在但不是 dict | 返回默认值 30 | | test_returns_default_when_re_register_interval_missing | prefill_kv_event_config 中缺少 re_register_interval_sec | 返回默认值 30 | | test_returns_default_when_re_register_interval_is_none | re_register_interval_sec 显式设为 None | 返回默认值 30 | | test_returns_configured_value | 正常传入 120 | 返回 int 120 | | test_accepts_string_value | 传入字符串 "45" | 返回 int 45 | | test_accepts_zero | 传入 0(禁用定时器) | 返回 int 0 | --- ## 2. tests/coordinator/api_client/test_conductor_api_client.py — Conductor API 客户端(28 个用例) ### TestConductorInstanceId(4 个) | 测试方法 | 覆盖场景 | 预期结果 | |---|---|---| | test_role_u_returns_union_prefix | ROLE_U 实例 | conductor_instance_id() 返回 "vllm-union-7" | | test_role_p_returns_prefill_prefix | ROLE_P 实例 | conductor_instance_id() 返回 "vllm-prefill-3" | | test_role_e_falls_to_prefill_prefix | ROLE_E 实例(非 U 回退) | conductor_instance_id() 返回 "vllm-prefill-5" | | test_role_d_falls_to_prefill_prefix | ROLE_D 实例(非 U 回退) | conductor_instance_id() 返回 "vllm-prefill-9" | ### TestBuildRegisterPayload(5 个) | 测试方法 | 覆盖场景 | 预期结果 | |---|---|---| | test_returns_empty_dict_when_endpoint_format_invalid | endpoint 没有 *: 分隔符 | 返回空 dict {} | | test_basic_payload_without_replay | 标准 payload,无 replay_endpoint | 返回含 endpoint/type/modelname/block_size/instance_id/dp_rank 的 dict | | test_payload_with_replay_endpoint | 带 replay_endpoint 配置 | payload 包含 replay_endpoint 字段,端口为 base + endpoint.id | | test_payload_dp_rank_uses_endpoint_id | dp_rank 取自 endpoint.id(非 0) | dp_rank == 5,endpoint 端口为 5557 + 5 = 5562 | | test_replay_endpoint_format_invalid_no_star_colon | replay_endpoint 没有 *: 分隔符 | payload 中**不包含** replay_endpoint 键 | ### TestNormalizeServiceKey(9 个) | 测试方法 | 覆盖场景 | 预期结果 | |---|---|---| | test_all_uppercase_keys | Conductor 返回大写 key | 正确提取四个字段值 | | test_lowercase_keys_not_found_by_uppercase_lookup | 只有小写 key(大写 key 不存在) | 全部返回默认值 ("", -1, "", "") | | test_dp_rank_zero | dp_rank=0被正确解析 | dp_rank == 0 | | test_dp_rank_missing_defaults_to_minus_one | DPRank 完全缺失 | 默认 -1 | | test_dp_rank_non_numeric_string_returns_minus_one | DPRank 为非数值字符串 "abc" | 返回 -1 | | test_dp_rank_empty_string_returns_minus_one | DPRank 为空字符串 "" | 返回 -1(isdigit=False) | | test_instance_id_empty_when_missing | InstanceID 缺失 | instance_id == "" | | test_endpoint_empty_when_missing | Endpoint 缺失 | endpoint == "" | | test_replay_endpoint_empty_when_missing | ReplayEndpoint 缺失 | replay_endpoint == "" | | test_instance_id_empty_when_missing | InstanceID 缺失 | instance_id == "" | | test_endpoint_empty_when_missing | Endpoint 缺失 | endpoint == "" | | test_replay_endpoint_empty_when_missing | ReplayEndpoint 缺失 | replay_endpoint == "" | ### TestGetRegisteredServices(4 个) | 测试方法 | 覆盖场景 | 预期结果 | |---|---|---| | test_returns_services_list | Conductor /services 正常返回 | 返回 services 列表 | | test_returns_empty_when_response_not_dict | 响应不是 dict | 返回空列表 [] | | test_returns_empty_when_services_not_list | services 字段不是 list | 返回空列表 [] | | test_raises_on_http_error | HTTP 请求异常 | 向上抛出原始异常 | ### TestReRegisterKvInstances(6 个) | 测试方法 | 覆盖场景 | 预期结果 | |---|---|---| | test_skip_when_no_registered_services | get_registered_services() 抛出异常(Conductor 不可用) | 跳过,register_post 不被调用 | | test_skip_non_kva_roles | ROLE_D / ROLE_E 不在 _KVA_ROLES 中 | register_post 不被调用 | | test_skip_when_payload_empty | _build_register_payload() 返回空 dict | register_post 不被调用 | | test_re_registers_when_service_missing | 本地实例在 Conductor 中不存在 | register_post 被调用一次 | | test_skips_when_already_registered | 实例已在 Conductor 中注册(所有字段匹配) | register_post **不**被调用 | | test_re_registers_only_missing_among_multiple | 多个 endpoint,仅 dp_rank=1 缺失 | register_post 仅被调用一次(ep_id=1) | --- ## 覆盖率统计 | 模块 | 覆盖函数/方法 | |---|---| | motor.config.config_utils._resolve_re_register_interval_sec | 全部 9 条分支 | | motor.coordinator.api_client.conductor_api_client.conductor_instance_id | 2 条分支(U / 非 U) | | ConductorApiClient._build_register_payload | endpoint 格式、replay 有无、replay 格式 | | ConductorApiClient._normalize_service_key | 大写/小写 key、dp_rank=0 边界、字段缺失默认值、非数值字符串、空字符串 | | ConductorApiClient.get_registered_services | 正常/格式错误/异常 | | ConductorApiClient.re_register_kv_instances | Conductor 不可用、非 KVA 跳过、payload 为空、新注册、已注册跳过、部分缺失 | See merge request: Ascend/MindIE-PyMotor!337 | 2 个月前 | |
[fix]修复Controller 若干问题 Co-authored-by: 吕有辉<lvyouhui@huawei.com> # message auto-generated for no-merge-commit merge: !447 merge fix_controller_log into master [fix]修复Controller 若干问题 Created-by: codeDogPro Commit-by: 吕有辉 Merged-by: towncharlie Description: ## **1. 合入背景** https://gitcode.com/Ascend/MindIE-PyMotor/issues/245 https://gitcode.com/Ascend/MindIE-PyMotor/issues/246 https://gitcode.com/Ascend/MindIE-PyMotor/issues/256 ## **2. 修改内容** 1、修复Controller组件日志打印逻辑 2、修复configmap解析json的bug,如果不是json,就不要强制解析 3、node manager的心跳发送机制增强 4、ETCD续约机制增强,增加续约重试,避免误发送主降备 ## **3. 资料变更** 不涉及 ## **4. 接口变更** 不涉及 ## **5. 测试结果** 已修复场景: 1、实例重启,不再刷屏Controller的日志 2、Coordinator重启,推送功能正常 3、心跳超时后不再持续刷屏 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!447 | 2 个月前 | |
修复:指标值为0该指标直接不显示 Co-authored-by: mindie_yangan<yangan7@h-partners.com> # message auto-generated for no-merge-commit merge: !468 merge master into master 修复:指标值为0该指标直接不显示 Created-by: mindie_yangan Commit-by: mindie_yangan Merged-by: towncharlie Description: ## **1. 合入背景** Fixes [#261](https://gitcode.com/Ascend/MindIE-PyMotor/issues/262) Coordinator :1027/metrics 在指标空闲,或 Engine 只下发 # HELP/# TYPE、尚无 sample 时,该指标在 curl 结果中整行不出现;有流量、值大于 0 后才出现。影响空闲态观测与面板连续性。本 PR 使无 sample / 空 family 的指标以显式 0 输出。 ## **2. 修改内容** 1、MetricsCollector._parse_metric_text:解析到仅有 HELP/TYPE、无 sample 的 family 时,不再跳过;补 label=metric.name、value=0.0,使后续聚合/序列化能带上该指标。 2、MetricsCollector._format_prometheus:若 family 的 label/value 为空,仍输出 # HELP/# TYPE,并追加一行 name 0,避免 curl :1027/metrics 只见头不见值。 交互:Engine /metrics → Coordinator ObsServer 解析聚合 → :1027/metrics。本改动仅在 Coordinator 解析与 Prometheus 文本序列化,不改 Engine、不改 HTTP 路径。 3、UT:补充空 family 补 0、显式 0.0 sample 保留、空 label/value 序列化为 name 0 的用例。 ## **3. 资料变更** 不涉及。 ## **4. 接口变更** 不涉及。 ## **5. 测试结果** 输出含 0邻居非 0 指标仍正常,待贴出截图  ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!468 | 2 个月前 | |
[feature]Pymotor支持prestop优雅退出 Co-authored-by: yilunh<hanyilun1@huawei.com> # message auto-generated for no-merge-commit merge: !244 merge stopstop into master [feature]Pymotor支持prestop优雅退出 Created-by: yilunh Commit-by: yilunh Merged-by: towncharlie Description: ## **1. 合入背景** 为 Engine Pod引入 Kubernetes PreStop 优雅下线能力,避免缩容/滚动更新时强行杀进程导致在途请求中断。 fixes [#161](https://gitcode.com/Ascend/MindIE-PyMotor/issues/161) ## **2. 修改内容** - Deploy 侧:新增 prestop.sh / prestop.py,打入 ConfigMap;Engine YAML 增加 lifecycle.preStop,terminationGracePeriodSeconds由 10s → 30s;delete.sh 改为轮询 Pod 是否真正消失 - NodeManager:新增 POST /node-manager/pause(将 endpoint 标为 PAUSED,返回 engine_mgmt_addrs)和 POST /node-manager/resume(预留);心跳刷新时保留手动 PAUSED 状态 - Controller:新增 InsStatus.PAUSED 状态机与 INSTANCE_PAUSED / INSTANCE_RESUMED 事件,向 Coordinator 推送 PAUSE / RESUME - Coordinator:新增 _paused_pool,暂停实例不再参与新请求调度,已在跑请求可继续完成 - 排空检测:轮询本 Pod 内 engine 的 http://<mgmt_addr>/metrics,累加 num_requests_waiting + num_requests_running 至 0 后退出;prestop.sh 最后 kill -TERM NM 主进程完成容器退出  ## **3. 资料变更** 不涉及 ## **4. 接口变更** 不涉及 ## **5. 测试结果**  ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!244 | 3 个月前 | |
engine server错误码处理与引擎侧保持一致 Co-authored-by: tobking<wangjun292@huawei.com> # message auto-generated for no-merge-commit merge: !450 merge engine-vllm-validation-error-response into master engine server错误码处理与引擎侧保持一致 Created-by: tobking Commit-by: tobking Merged-by: towncharlie Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. engine server当前基于错误信息匹配错误码,处理流程与vllm原生不一致。需要对齐。 [#281](https://gitcode.com/Ascend/MindIE-PyMotor/issues/281) ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 对齐vllm 原生处理错误码逻辑 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!450 | 2 个月前 | |
dt | 2 个月前 | |
Revert "[feature] get rid of ranktable" Co-authored-by: lbr711<liuboru1@huawei.com> # message auto-generated for no-merge-commit merge: !218 merge revert_ranktable into master Revert "[feature] get rid of ranktable" Created-by: lbr711 Commit-by: lbr711 Merged-by: towncharlie Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!218 | 3 个月前 | |
[feature] 在 vLLM 配置解析前启动 mgmt 端点 Co-authored-by: Jechin<yuzechen1@huawei.com> # message auto-generated for no-merge-commit merge: !441 merge feature/early-mgmt-endpoint-bootstrap into master [feature] 在 vLLM 配置解析前启动 mgmt 端点 Created-by: Jechin Commit-by: Jechin Merged-by: towncharlie Description: ## **1. 合入背景** Fixes [#244](https://gitcode.com/Ascend/MindIE-PyMotor/issues/244) Fixes [#242](https://gitcode.com/Ascend/MindIE-PyMotor/issues/242) EngineServer 在 vLLM 冷启动 ConfigFactory.parse() 完成前不监听 mgmt 端口,NodeManager 在此期间探测 /status 会得到 Connection refused,可能触发连续异常心跳。本 PR 调整启动时序,使 mgmt 端口尽早可达,并在 parse 完成后绑定引擎健康检查逻辑。 ## **2. 修改内容** 1. **motor/engine_server/cli/main.py**:启动顺序改为 MgmtEndpoint(endpoint_config).run() → ConfigFactory.parse() → attach_engine(config) → 启动 InferEndpoint。 2. **motor/engine_server/core/mgmt_endpoint.py**:MgmtEndpoint 仅接收 EndpointConfig 构造;新增 attach_engine(IConfig) 延迟绑定 SimInference;/status 在 attach 前返回 initial;移除遗留 _server_core 与 bootstrap 阶段日志。 3. **motor/engine_server/core/mgmt_sim_inference_factory.py**(新增):下沉 headless/DP rank 虚推开关与 SimInference 创建逻辑。 4. **motor/engine_server/core/health_collector.py**:构造函数改为接收 EndpointConfig,mgmt 早期阶段即可探活 infer 端口。 5. **motor/node_manager/core/heartbeat_manager.py**:update_endpoint 时重置 120s 心跳宽限期,覆盖 EngineServer 晚注册场景。 6. **单元测试**:补充 mgmt 早期 /status、attach 幂等与 main 启动顺序断言;补充 heartbeat 宽限期重置用例。 **进程视图** mermaid sequenceDiagram participant Main as EngineServer_main participant Mgmt as MgmtEndpoint participant Parse as ConfigFactory_parse participant NM as NodeManager Main->>Mgmt: __init__ + run() Note over Mgmt: mgmt 端口开始监听 NM->>Mgmt: GET /status Mgmt-->>NM: initial Main->>Parse: parse() 慢路径 Main->>Mgmt: attach_engine(config) NM->>Mgmt: GET /status Mgmt-->>NM: normal/abnormal ## **3. 资料变更** 不涉及 ## **4. 接口变更** 不涉及跨代码仓或客户面可见的接口变更。mgmt /status 在引擎 attach 前仍返回 HTTP 200 与 initial 状态,行为与早期 bootstrap 设计一致。 ## **5. 测试结果** (自行补充) ## **6. CheckList** [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!441 | 2 个月前 | |
[fix] 修复Coordinator测试用例在不同python版本现象不同的bug。【部分python版本会出现失败】 Co-authored-by: 吕有辉<lvyouhui@huawei.com> # message auto-generated for no-merge-commit merge: !116 merge master into master [fix] 修复Coordinator测试用例在不同python版本现象不同的bug。【部分python版本会出现失败】 Created-by: codeDogPro Commit-by: 吕有辉 Merged-by: towncharlie Description: ## **1. 合入背景** https://gitcode.com/Ascend/MindIE-PyMotor/issues/82 ## **2. 修改内容** 解决 from __future__ import annotations叠加不同pydantic版本引入的Request和'Request'解析逻辑差异的问题。 ## **3. 资料变更** 不涉及 ## **4. 接口变更** 不涉及 ## **5. 测试结果** 验证ok ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!116 | 4 个月前 | |
[test] ut耗时与warning告警优化 Co-authored-by: Jechin<yuzechen1@huawei.com> # message auto-generated for no-merge-commit merge: !269 merge test/ut-speedup-and-warnings-report into master [test] ut耗时与warning告警优化 Created-by: Jechin Commit-by: Jechin Merged-by: towncharlie Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#171](https://gitcode.com/Ascend/MindIE-PyMotor/issues/171) ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 | 文件 | 改动性质 | |------|----------| | pytest.ini | 移除第三方 warning 过滤 | | tests/run_tests.sh | warning 不再导致失败 | | tests/coordinator/router/test_router_cdp_separation.py | CDP 重试加速 | | tests/engine_server/core/test_sim_inference.py | health_check 加速 | | tests/coordinator/test_http_server.py | 限流 mock + pylint/ruff 修复 | > 全量并行 UT 耗时从约 31s 降至约 5s(优化前后对比验证过)。 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 不涉及 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 不涉及 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 已测试 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!269 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 3 个月前 |