故障排查GitHub issue2 分钟阅读排错/错误码

解决FastGPT chatTest接口引发的Redis EXECABORT报错问题

在FastGPT私有部署版本4.14.5.1中,调用chatTest接口时,会触发Redis报错,报错完整文本为EXECABORT Transaction discarded because of previous errors。

现象

在FastGPT私有部署版本4.14.5.1中,调用chatTest接口时,会触发Redis报错,报错完整文本为EXECABORT Transaction discarded because of previous errors

可能原因

该报错为Redis返回的事务执行异常,具体触发原因需按实际环境确认,可能涉及Redis连接状态异常、事务内前置操作执行失败,导致Redis主动丢弃事务。

排查步骤

  1. 复现调用chatTest接口的操作,抓取完整的Redis报错日志,记录报错文本EXECABORT Transaction discarded because of previous errors
  2. 确认当前FastGPT为私有部署版本4.14.5.1,检查Redis服务是否正常运行,无异常中断、内存溢出等问题。
  3. 核对FastGPT与Redis的连接配置,需按实际环境确认配置是否正确。
  4. 查看FastGPT应用的运行日志,确认是否存在其他前置错误导致Redis操作失败。

解决与验证

  1. 若排查发现Redis连接异常,修复Redis连接配置或重启Redis服务;若为Redis事务操作存在错误,修正事务内的操作顺序或逻辑。
  2. 重新调用chatTest接口,确认不再出现EXECABORT Transaction discarded because of previous errors的Redis报错,验证问题是否解决。

来源:https://github.com/labring/FastGPT/issues/6316