Files
pikasTech-unidesk/docs/MDTODO/details/sub2api-upstream-reliability/R2.3_Task_Report.md
T
Codex d74795632c
Pipelines as Code CI / hwlab-web-probe-sentinel-nc01- Success
Pipelines as Code CI / platform-infra-gitea-nc01- Success
Pipelines as Code CI / unidesk-host- Success
chore: preserve restored parallel task records
2026-07-14 16:05:34 +02:00

2.4 KiB

R2.3 任务报告

结论

已完成 PK01 Sub2API 原生 system-log 策略事件索引缺口的只读调查,完整证据见 Issue #2027 调查结论。调查以当前真实运行面 v0.1.147 为主证据,v0.1.155 仅用于源码差异参考;未修改代码、runtime、YAML、账号、proxy、调度,未发探针、未部署。

根因分层

  • openai.upstream_failover_switchingopenai.account_select_failedopenai.forward_failed 是 warning/error 事件,已真实写入 v0.1.147 的 ops_system_logs,并可按 request ID 从原生 admin/ops API 查询。
  • account_temp_unschedulable 在 v0.1.147 中以 INFO 发出;OpsSystemLogSink.shouldIndex 只接收 warning/error/fatal 等级或特定组件,因此该事件在进入 sink 队列前被过滤。
  • 临时不可调度事件还缺少 request_idclient_request_id、用户、API key、分组、模型等上下文字段,即使单纯纳入索引,也不能稳定完成逐请求归因。
  • v0.1.155 仍以 INFO 发出该事件,sink 等级过滤规则未改变,因此升级不能直接解决。
  • 当前容器在回退 v0.1.147 时重建,容器日志只能覆盖重建后窗口;当前无 max-size/max-file,但容器替换后没有稳定历史保留合同,不能替代数据库索引。

CLI 现状与候选

  • codex-pool feedback --user ... --request-id ... 已是近期 request-scoped 原生 system-log 的可靠入口。
  • runtime errors 能读取 host-Docker 容器日志,但当前主要输出账号级聚合。
  • codex-pool trace 在 PK01 host-Docker 上仍硬编码 kubectl logs,会产生 false not-found;应独立修复为复用 runtime_logs()
  • 可独立增加只读 platform-infra sub2api ops system-logs,封装 v0.1.147 已有 q、request ID、账号、时间范围和固定分页合同。
  • 若要求临时不可调度稳定入库和逐请求关联,需要 Sub2API 上游源码增加策略事件 allowlist,并补齐请求上下文字段;不建议仅把 INFO 粗暴升为 WARN。

裁决

PK01 可继续保持 v0.1.147。failover、账号选择失败和 forward failure 的可见性优化不需要上游源码变更;临时不可调度的稳定数据库索引和逐请求关联需要上游源码变更,但不属于本只读任务实现范围。Issue #2027 已关闭。