一. 问题描述
今日EDI平台的运行时环境下午4点左右开始出现服务注册失败的情景, 是由于一个Rest请求异常导致的(Rest返回码为302)
.
二. 尝试路径
- 此前3天内, EDI平台的管理端环境, 运行时环境都没有上线操作. 排除引入了变化的代码.
- 根据以往的经验,
302错误, 一般是Rest请求时认证未通过引起的登陆重定向
. 但本次请求的Url无需认证, 排除该错误. - 查看Rest服务器(即管理端服务器)日志, 发现是该rest接口执行异常, 且并为捕获, 导致
302重定向到错误页面
.具体错误是4点左右删除数据库相关数据不完全, 导致的NPE.
三. 反思
- 检查变化时, 注意变化不只包含代码, 也包含数据库等依赖的外部状态.
- 被以往经验束缚, 武断认为302就是sso登陆问题, 导致走了弯路
- 删除数据应通过接口, 避免手动操作, 导致数据库状态不一致引起程序异常