Skip to content

模型更新机制存在的竞态条件问题,导致Model qwen3-235b-a22b-instruct-2507 is undefined, you need to select a chat model. #5806

@shikaiwei1

Description

@shikaiwei1

例行检查

  • 我已确认目前没有类似 issue
  • 我已完整查看过项目 README,以及项目文档
  • 我使用了自己的 key,并确认我的 key 是可正常使用的
  • 我理解并愿意跟进此 issue,协助测试和提供反馈
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

你的版本

  • 公有云版本
  • 私有部署版本, 具体版本号: v4.12.2-fix3

问题描述, 日志截图,配置文件等
其中1个报错如下:
Image

--- 说明:---

  1. 该问题偶发,且期间模型配置无任何变更。

--- 排查 ---

根据日志检查,该问题发生在6:15:00
从日志上可看出,此时同时存在模型更新日志

Image

通过对源码分析,发现在packages/service/core/ai/config/utils.ts中,模型更新时,使用如下步骤:

清空全局模型→异步循环所有模型,填充global.llmModelMap

根据时间点可判断:
节点进行LLMs请求时,刚好处于清空全局模型,且所需模型暂未更新到global.llmModelMap中导致。属于典型的“竞态条件问题”

-- 优化建议 --

使用原子更新的方式,更新模型映射。(先构建新的映射关系,完成后替换global.llmModelMap)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions