4.3.0商业版/Jackson序列化触发主键唯一性约束/错误日志插入失败

Blade 未结 2 55

一、该问题的重现步骤是什么?

1. 商业版由4.2.0版本升级到4.3.0版本

2. 部署新版本后故意少启动必要依赖服务,触发错误日志插入

3.当第二条错误日志插入是,会报主键唯一性约束导致无法成功插入。


二、你期待的结果是什么?实际看到的又是什么?

  1. 错误日志能够正常插入,实际上无法插入成功。

  2. 所有依赖LogAbstract类的,或者说类型为NULL的值在转换为-1时,刚好此属性对应数据库的表id时,不要影响后续的系统正常插入


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

使用的是最新的bladx的商业版4.3.0版本,在win11操作系统上。


四、请提供详细的错误堆栈信息,这很重要。

问题描述:v4.3.0 版本Feign接口调用Long类型由Null自动转换为-1

问题详情:在v4.3.0版本,系统记录错误日志的时候,通过Feign接口调用日志服务接口。日志对象中的ID在调用方为Null,接收方接收对象时ID由Null变成-1导致雪花算法自动生成ID失败。产生数据库唯一ID错误
问题排查:经排查问题出现在Jackson序列化配置,Git提交记录为2024-11-28  :zap: 优化报文加密的序列化逻辑

请重点查看blade-core-tool工程里面JacksonConfiguraton.java 96行代码记录。


五、若有更多详细信息,请在下面提供。

其它相关信息:https://blog.csdn.net/qqqq494114408/article/details/130215551


最后,如果确认此是bug,大概什么时间可以修复呀,盼答复,谢谢!


2条回答
提交回复