缺失的毫秒值导致的bug

在公司mysql2es模块中,需要定时的将数据库中数据同步到ES中,由于SpringBoot版本升级导致了如下错误:

  • es中createTime的format为yyyy-MM-dd HH:mm:ss
  • 设备1中的createTime字段对应的值为2021-06-18 15:38:27
  • 设备2中的createTime字段对应的值为2021-06-18 15:05:00
  •  走到里面的一个方法时发现了如下错误
    • 设备1

  • 设备2 

  • 可以发现从数据库中取出来的时候,设备2的秒值缺失,导致结果不符合es中createTime的format,所以必须要做一下调整即将确实的毫秒值进行补充

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
边界容易引发 bug 的原因主要有以下几点: 1. 边界条件容易被忽视:在编写代码或设计系统时,人们往往更关注常规情况而忽视了边界条件。这导致在处理边界时可能存在逻辑错误或未考虑到的情况。 2. 边界条件可能引发特殊行为:边界通常会导致系统或算法的特殊行为,这些行为可能与常规情况不同。如果在处理边界时没有正确考虑这些特殊行为,就容易出现错误。 3. 边界条件测试不充分:测试用例通常会覆盖一般情况,但往往忽略了边界条件。如果没有充分测试边界,就无法发现潜在的问题。 4. 字处理精度问题:在涉及到浮点或小计算时,边界可能导致精度问题。由于计算机表示字的限制,处理边界时可能出现舍入误差或精度丢失。 为了避免边界引发的 bug,可以采取以下措施: 1. 明确定义边界条件:在设计和编写代码时,明确定义边界条件,并确保正确处理这些情况。 2. 进行全面的测试:在测试阶段,充分考虑边界,并编写相应的测试用例来覆盖这些情况。 3. 注意特殊行为:了解边界可能引发的特殊行为,并在代码中正确处理这些情况。 4. 考虑精度:对于涉及到浮点或小计算的情况,需要注意处理精度的问题,避免舍入误差或精度丢失。 通过以上措施,可以减少边界引发 bug 的概率,并提高系统的稳定性和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值