您的位置:首页 > 其它

记预生产一bug

2016-10-25 15:28 162 查看
测试环境测的没有任何问题,今天上预生产环境,如果测试没问题就应该发版到线上,我还在给新来的boss梳理推荐系统架构图,测试跑过来说,线上太奇怪了,一会儿有数据,一会儿没数据,而且有时候还报错,我估计是她hosts忘了切换或者缓存导致,我去她工位看了一下果真预生产显示不对。我赶紧去线上找了一下错误日志,错误日志如下:

java.lang.IllegalArgumentException: fromIndex(8) > toIndex(5)
at java.util.ArrayList.subListRangeCheck(ArrayList.java:924)


产生问题的原因:自己没有详细看api使用,想当然的理解ArrayList的subList使用,正确使用方法是从开始下标截取到结束下标,我理解为从开始下标开始,截取个数。比如我需要从大小为10的list中从第5个下标开始,截取2个,正确写法是subList(5,7),我的写法是subList(5,2)

由于预生产出现了问题,我反思一下自己

1,以后api一定要看一下说明,不要轻敌,切记。

2,由于预生成部署了六台server,导致查询错误日志很麻烦,需要每一台的查看日志,虽然有个脚本每隔一个小时会把错误日志汇总起来,但是时效性太差。之前了解过ELK可以解决日志收集和展示问题,要认真看看ELK方面的东西,先在本地和测试试运行一下。

3,docker好像是个虚拟容器,可以解决环境不一致导致的问题,也应该排上日程了。

4,英文文档也要多看了,能用英文解决的问题,尽量少用汉字。

5,由于测试数据总是不全或者是自己手动造的数据,可能也导致了测试同学的测试完整性没有很好的保证。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  bug 线上