docs: mark bug-1494 partially fixed (dispatch-fail re-PEND, bug-1510)

Document that the scheduler dispatch-fail re-PEND fix (commit 6928f74)
resolves one root cause of the "all jobs PEND" symptom; the
controller-restart self-heal-reconnect aspect of bug-1494 remains open.
Log bug-1510 in buglog.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
lei.chen 2026-08-11 05:29:23 +00:00
parent 6928f74702
commit ce619c5583
3 changed files with 443 additions and 392 deletions

View file

@ -10,10 +10,11 @@
## 一、最紧急:当前影响集群的 bug
### 1. bug-1494 — 作业全部 PEND 不调度【根因已定位,2026-08-07】
- **状态**:未解决(根因已定位)
### 1. bug-1494 — 作业全部 PEND 不调度【部分已修复,2026-08-11】
- **状态**:部分解决。**子问题一(派发失败作业不重试)已修复(bug-1510,commit 6928f74)**;**子问题二(controller 重启后 worker/scheduler 不自愈重连)仍开放**。
- **来源**:`CLAUDE.md`、`docs/Scheduler-Agent-设计文档.md` §10.2b
- **根因(实证确认)**:controller 重启后,worker + scheduler **都不能自愈重连**,导致 scheduler 资源视图 slots=0 → 无法派发:
- **子问题一(已修复)**:scheduler 在 worker 未就绪(down/joining)时派发,controller 拒绝(`dispatch_a_job_ worker t1 status=0x10000 ep nil`)并回 `jobDispatchFail` 通知,但 scheduler 的 `sched_handle_notify` 无此 case(丢弃)→ 作业保持 RUN 视图永不重选 → 永久 PEND(worker 恢复也不派发)。**修复**:handler.c 加 `jobDispatchFail` case + `sched_requeue_pend_job()`(重置 PEND + 重新入 fcfs pendJobs),作业持续重试直到 worker 就绪 → 派发 → EXIT。集群已验证。
- **子问题二(仍开放)**:controller 重启后,worker + scheduler **都不能自愈重连**,导致 scheduler 资源视图 slots=0 → 无法派发:
1. **worker 不重连**:controller 重启后 t1 保持 `UNAVAIL`(NCPUS/MAX_SLOT=-,HOST_TYPE=UNKNOWN),每 15s `Failed to send load indices error -1`,无 rejoin 尝试(worker 连接监控 `checking_connection` 未检测到 controller 重启)
2. **scheduler 无重连逻辑**:controller 重启后 scheduler 连接断开,重启后重新 join 时看到 t1 UNAVAIL、0 slots(`resource 0 (slots) total 0.000000 shortfall 1.0`)
3. scheduler 无法分配 → 全部 PEND(`main decision = (nil)`)
@ -164,8 +165,9 @@ spec 声称 36/36 任务完成,但 re-audit(research.md)发现缺陷。来
### 1. 阻塞性 bug(影响 chatbot E2E 验证)
| Bug | 影响 |
|-----|------|
| **bug-1490** | control(hold/release/cancel)HTTP 500,apiserver control 链路预存 bug,请求到不了 controller。**写工具 E2E 验证的头号拦路虎** |
| **bug-1494** | 作业全 PEND 不调度,Agent 提交流程无法完成。根因已定位(见第一节) |
| **bug-1490** | ✅ 已修复(c90e63e)。MCP 写工具(submit/hold/release/cancel)集群 E2E 验证通过;`scheduler_get_job` 的 CompConditions 过滤 bug 也已修复(0572740)。另修了部署缺口:/opt/xce/config 缺 rbac.yaml 导致 mcp API key 全 403 |
| **bug-1494** | 作业全 PEND 不调度,Agent 提交流程无法完成。**部分已修复(2026-08-11)**:派发失败作业重试(bug-1510)已解决;controller 重启后 worker/scheduler 不自愈重连仍开放(见第一节) |
| **chatbot 过度建议** | ✅ 已缓解(3db216c):mcp-server 加 server instructions + 状态工具 report-only 描述,防止 LLM 把非 OK 状态当事故、主动给一堆排查建议 |
### 2. Phase 2:监控 + 纠错闭环(未开始,估 2-3 天)
- **SSE 事件流**(ADR-004 设计已完、未实现):apiserver SSE endpoint + EventBroker,schedulerclient `WatchJobs()`,mcp-server 事件接入。Agent 工作流:submit → watch → analyze → auto-handle