现象
在FastGPT私有部署版本4.14.5.1中,调用chatTest接口时,会触发Redis报错,报错完整文本为EXECABORT Transaction discarded because of previous errors。
可能原因
该报错为Redis返回的事务执行异常,具体触发原因需按实际环境确认,可能涉及Redis连接状态异常、事务内前置操作执行失败,导致Redis主动丢弃事务。
排查步骤
- 复现调用chatTest接口的操作,抓取完整的Redis报错日志,记录报错文本
EXECABORT Transaction discarded because of previous errors。 - 确认当前FastGPT为私有部署版本4.14.5.1,检查Redis服务是否正常运行,无异常中断、内存溢出等问题。
- 核对FastGPT与Redis的连接配置,需按实际环境确认配置是否正确。
- 查看FastGPT应用的运行日志,确认是否存在其他前置错误导致Redis操作失败。
解决与验证
- 若排查发现Redis连接异常,修复Redis连接配置或重启Redis服务;若为Redis事务操作存在错误,修正事务内的操作顺序或逻辑。
- 重新调用chatTest接口,确认不再出现
EXECABORT Transaction discarded because of previous errors的Redis报错,验证问题是否解决。
来源:https://github.com/labring/FastGPT/issues/6316