在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。
⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:
在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用 <TOKEN> 等占位符替代原有内容。
<TOKEN>
A2/A3
同一推理实例跨多个 Pod 部署时,各 Pod 内部的 Endpoint 映射 key 可能都从 0 开始,但每个 Endpoint 的 Endpoint.id 是实例级全局唯一 ID。NodeManager 心跳上报的 status key 使用全局 Endpoint.id。 Controller 在 Instance.update_heartbeat() 中使用 self.endpoints[pod_ip] 的字典 key 构造期望 Endpoint 集合,导致 Pod 内本地 key 与实例级全局 Endpoint ID 被混用。 当第二个及后续 Pod 的本地 key 与全局 ID 不一致时,Controller 会把合法心跳误判为 Endpoint 集合不一致。持续误判后可能触发心跳超时、实例状态异常以及原有重配置流程。
Endpoint.id
status
Instance.update_heartbeat()
self.endpoints[pod_ip]
欢迎加入社区,感谢您对社区的贡献 🎉!
在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。
⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:
在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用
<TOKEN>等占位符替代原有内容。环境信息
A2/A3
🐛 问题描述
同一推理实例跨多个 Pod 部署时,各 Pod 内部的 Endpoint 映射 key 可能都从 0 开始,但每个 Endpoint 的
Endpoint.id是实例级全局唯一 ID。NodeManager 心跳上报的statuskey 使用全局Endpoint.id。Controller 在
Instance.update_heartbeat()中使用self.endpoints[pod_ip]的字典 key 构造期望 Endpoint 集合,导致 Pod 内本地 key 与实例级全局 Endpoint ID 被混用。当第二个及后续 Pod 的本地 key 与全局 ID 不一致时,Controller 会把合法心跳误判为 Endpoint 集合不一致。持续误判后可能触发心跳超时、实例状态异常以及原有重配置流程。
欢迎加入社区,感谢您对社区的贡献 🎉!