- 博客(7)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 redis缓存增加新字段的坑
1. 缓存未过期,导致上线后缓存还是没有新加的字段。2. 有其他项目也在使用这个缓存,导致被覆盖。最佳实践:换个key。
2025-08-27 10:45:07
134
原创 测试问题不能麻痹大意
接到任务需要将一个UserFilter替换成公共jar包中的UserFilter,这个公共jar升级之前出现过好几次问题,所以这次必须谨慎。测试说有问题,我不信,因为我自己试过可以,然后我又试了下,确实不行,然后以为是前端调SDK的问题,与后端无关,我接口都正常返回了。代码不多,很快替换完成,自测也通过了,给测试的影响范围也评估出来了。
2025-03-28 09:32:29
142
原创 慢SQL-不能麻痹大意【引起数据库故障】
所以需要建索引`depot_code`, `receive_man_mobile`, `cainiao_notify_status`, `gmt_create`索引覆盖到了depot_code, receive_man_mobile,但是有门店都录入到了一个手机号,导致慢查询。
2024-10-13 11:00:15
222
原创 使用成员变量导致的逻辑错乱问题
结果线上出现低版本的也返回了新的列表abd,新版本反而没出现abd,排查了版本判断逻辑没问题,问题原因在于Grid是单例的,而且成员变量全局共享,所以导致这个问题。1. 改代码时需要注意原有写法有什么风险,我继续这样写会不会掉坑,使用成员变量做这种业务逻辑肯定有问题。需求是判断app高于某个版本,对接口返回的list做一些改动,3. 按用户灰度不可少,新逻辑出问题只会影响灰度用户。2. if else处要加上详细日志,方便排查问题。出现这中问题出现很难排查,如何避免这个问题。
2024-08-23 16:51:29
197
原创 解决一个诡异的Mybatis参数转换报错
org.apache.ibatis.binding.MapperMethod.ParamMap继承自HashMap的threshold属性为int。追踪堆栈,果然是ParameterHandler有问题,现在要看IntegerTypeHandler在哪设置的,为啥设置错了?可以将threshold改个名字,会发现不会报错,因为hashmap没这个属性。快找到了,在ParameterMappingTokenHandler中。找到赋值的地方,打个断点,重新进入断点看看。mybatis版本3.4.0。
2023-11-20 18:30:08
647
1
原创 生产故障-spring redis cache 反序列化故障
原因:本次上线的java对象新增了一个字段,由于没有定义serialVersionUID,序列化id会发生变化,所以会导致反序列化失败。教训:实现了序列化接口,一定要定义serialVersionUID。
2023-07-29 17:12:06
430
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅