记一次PageHelper分页使用错误导致的其他接口查询异常

发布时间:2024年01月21日

背景描述

测试某个线上功能模块时,反馈某个接口查询结果偶然不一致。

排查

1、查询日志无异常

2、测试环境单机压测接口,结果无差异

3、排查集群服务接口不一致,测试环境保留一个服务,功能测试接口有偶然不一致

4、在操作某块功能后大概率出现接口查询结果不一致情况。增加日志打印,定位到查询sql。仔细查看发现sql带了分页查询,而接口中并没有任何关于分页的代码。

最终结果罪魁祸首是PageHelper的使用有问题。在功能模块的某个接口中,有PageHelper开启了分页,但是条件判断未走查询。最终导致后续某个查询接口分页查询结果异常。

分析

PageHelper 开启分页影响本地线程变量,当开启分页,而分页未消耗,分页会给到下一个使用该线程的查询。

结论

最终把这个无效的开启分页干掉后,查询数据错误再没有出现。如果要分页,一定要保证开启分页被消耗或移除。

文章来源:https://blog.csdn.net/qq_34453866/article/details/135718339
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。