在java服务中,因MySQL数据库表中的数据溢出导致的各类问题
1·起因
本来使用正常的新增功能突然失效,同事报bug称:点击提交按钮无效。首先排除前端报错,地址指向也一切正常,继续定位发现返回页面的报错信息是405,Message Request method ‘GET’ not supported
意思是前后台请求方式不匹配,有一方使用了get请求而另一方却用了post请求。
2.追究
于是我认真检查了前后台的请求方式,发现两者均采用了post请求,这就陷入了死胡同。既然这样,我就想打后台断点看看能否成功发送请求。后面验证结果发现能够成功进入后台断点并且前面几步都能顺利走完,一步步走断点到最后一步进入mapper层的时候出现了问题。走完之后发现,没有正确提交新增成功,最后一看控制台总算发现了问题所在:
原来是表的数据量太大导致溢出了!
最后,通过定位相应的表名来进行数据清洗即可。
3.总结
从一开始的同事报bug,到后面自己找问题被误导以为get/post请求不匹配,最后才定位到问题所在。启示,不要盯着一个问题不放,而是要放大眼界定位问题,最后解决问题。