首页 > 其他分享 >排查接口返回批量指标数据某一条为空导致的异常问题

排查接口返回批量指标数据某一条为空导致的异常问题

时间:2023-01-12 11:46:17浏览次数:38  
标签:返回 同步 批量 22 指标 排查 查看 为空 数据

今天发现了一个量化接口的bug,此接口会批量返回多股票的指标数据,例如某一只股票的收盘价,开盘价,等等,但是邪门的事情来了,股票相关的4600条数据只有一条没有返回成功, 其他均正常只有一条查询为null,于是开始了漫长的排查之路.

1. 第一步去测试站看返回数据,发现其他指标均正常,只有该指标有异常无返回数据,

 

 2. 第二步去app端查看该指标在指标节点是否正常, 去终端查看返回数据正常,问题点筛除完毕

 3. 第三步去代码层查看调用接口是否有数据过滤,把某一条相关数据给过滤掉了,于是在代码层开始查看,在查看代码的同时,发现了此接口的核心

    逻辑以及数据表来源最重要的就是modtree表 和 modobjconfig表.

 

 4. 于是继续排查,在本地启动的时候,我过滤了条件, 把出问题的该条指标单独本地启动,看是否可以正常返回该条指标,而不是被代码层面过滤掉了

 5. 在本地启动后,发现这个指标得数据能正常返回,所以代码层面得问题也排除

 6. 在数据库层面验证: 1,先在使用的库表中查看数据量有多少,查出来是4801条

 7. 在服务器上面查看日志,此表同步了多少条同筛选条件的数据,发现出来了4800条,至此,原因已经慢慢浮现出水面,同步的数据和数据库中的数据量

    竟然不一致,于是暂且先重新同步了该表的数据

http://172.23.3.18:8081//http/manage/admin?{%22Admin%22:%22system%22,%22Action%22:%22ReSync%22,%22WriteType%22:%22json%22,%22Value%22:%22SF_NetValue%22,%22Compress%22:%22false%22}

 8. 但是重新同步某张表只是权宜之计,无法从根本上解决问题,还是要解决如何同步的问题,以及同步的过程中,是否根据某些过滤条件,把某些数据过滤掉了.

  查看同步逻辑:

 

 

已修复同步逻辑, 问题解决完毕

 

标签:返回,同步,批量,22,指标,排查,查看,为空,数据
From: https://www.cnblogs.com/ZhangZiXue/p/17046026.html

相关文章