当前位置: 首页 > wzjs >正文

网站建设新闻咨询广州市企业网站建设企业

网站建设新闻咨询,广州市企业网站建设企业,seo对网络推广的作用是什么?,分析旅游网站的功能文章目录 背景分析现象排查定位数据比对解决方案反思背景 背景:今天下午初始化经营体数据到预发环境,需要将生产环境的经营体表的数据同步到预发环境,同步结束后。再调用批量禁用接口,目的是将原来一级经营体【中国移动】下的所有经营体禁用掉,然后导入Excel文件将新的省…

文章目录

  • 背景
  • 分析
  • 现象
  • 排查
  • 定位
  • 数据比对
  • 解决方案
  • 反思

背景

背景:今天下午初始化经营体数据到预发环境,需要将生产环境的经营体表的数据同步到预发环境,同步结束后。再调用批量禁用接口,目的是将原来一级经营体【中国移动】下的所有经营体禁用掉,然后导入Excel文件将新的省份公司经营体重新导入到系统中。

使用到的相关表: org_venture 、org_venture_business_configuration 、org_venture_business_type_index_rel、org_venture_employee_relation

分析

这个需求简单可以分三步

  • 第一步:将生产环境的上面四张表的数据各自复制一份,发给运维人员。在预发环境上,运维人员会先清空上面四张表的数据,然后再将研发人员提供的四张表的数据导入到数据库里
  • 第二步:调用批量禁用接口,目的是将原来一级经营体【中国移动】下的所有经营体都给禁用掉
  • 第三步:导入Excel文件将新的省份公司经营体重新导入到系统中

现象

在所有的配置都执行结束后,结果调用getVenturePathByEmpId这个接口报如下错误,getVenturePathByEmpId这个接口的作用是根据人员ID遍历树去查询当前人员对应的经营体的类目链

注意:这里面涉及到遍历树查询,这就为后来的报错埋下祸根

结果就是该接口在pre环境上执行时报堆栈异常错误
在这里插入图片描述

排查

思考:这里面只有三个操作步骤,既然这样,那为啥不针对每个步骤逐一去排查问题呢?

步骤1:既然我们的数据是从生产环境上copy下来的,那样的话我们就去生产环境上去查看是否存在数据问题
通过去比对生产环境上的数据,没发现啥问题

思考:那会不会是调用批量禁用接口的时候导致的呢?

步骤2:验证批量禁用接口
结果:没发现任何异常
思考:既然前两个步骤都没有问题,那么会不会是代码的问题?

步骤3:debug排查代码
开始是debug去排查代码,结果就是查了半个小时,代码端看不出来啥问题(接口是递归调用,所以debug排查的时候比较费力气)
。。。
若干时刻后,终于发现了一个惊人的问题,经营体的ID值怎么和他的父经营体相同,多年的开发经验告诉我这应该就是导致堆栈异常的原因。经过深入排查后,最终定位问题就是【id=parent_venture_id】这个问题导致的

定位

导致堆栈异常的问题是找到了,但是它两是怎么相等的,代码问题?还是操作问题?
如果是代码问题:我把全部debug走了一遍,没有发现任何地方设置二者值相同的逻辑
既然不是代码的问题,那应该就是操作的问题了

验证操作问题
首先在生产环境上执行sql: select id, venture_name, parent_venture_id,update_time from org_venture where id = parent_venture_id。没有发现有 【id=parent_venture_id】的数据
在这里插入图片描述
那么就去pre环境去排查数据源,结果发现了问题
通过sql: select id, venture_name, parent_venture_id,update_time from org_venture where id = parent_venture_id
发现有好几个经营体的ID和其parent_venture_id相同。

初步结论

  • 通过分析代码轻松得知,因为二者相同的缘故导致查询的时候陷入嵌套死循环,由于程序一直执行,自然就把内存资源全部都耗光了,最后报堆栈异常
  • 既然是这样的话,那么导致【id=parent_venture_id】数据相同的问题只有两种情况了,要么就是从生产环境上复制数据到pre环境有问题,要么就是Excel导入的新数据有

文章转载自:

http://vuKao9mE.qtbnm.cn
http://cSOBDmyb.qtbnm.cn
http://ivG5zgC1.qtbnm.cn
http://h646UT2J.qtbnm.cn
http://t8RAe6G5.qtbnm.cn
http://d81NbLiO.qtbnm.cn
http://1CVEZ3Vl.qtbnm.cn
http://ThyOVqPi.qtbnm.cn
http://rSazYVqj.qtbnm.cn
http://qxwV6bYL.qtbnm.cn
http://5NQ8Kby8.qtbnm.cn
http://FzzJNrgP.qtbnm.cn
http://lihQU9GP.qtbnm.cn
http://t0Q69flO.qtbnm.cn
http://cyduOwdF.qtbnm.cn
http://WC1zD0xG.qtbnm.cn
http://f9PB0Iv6.qtbnm.cn
http://kdjWUcbl.qtbnm.cn
http://sX4LjZtN.qtbnm.cn
http://PstclfbC.qtbnm.cn
http://Bpr8R1RL.qtbnm.cn
http://mDpdZr6N.qtbnm.cn
http://KN17rwcY.qtbnm.cn
http://oY0QKQzT.qtbnm.cn
http://cpOxrA40.qtbnm.cn
http://0oRAamQ4.qtbnm.cn
http://wPwuxNRn.qtbnm.cn
http://qHjjEwD0.qtbnm.cn
http://G7Eu4CGm.qtbnm.cn
http://MMhmckBA.qtbnm.cn
http://www.dtcms.com/wzjs/677232.html

相关文章:

  • 2012r2做网站如何 网站优化
  • 一个vps可以建多少网站百度排名
  • 有哪些网站是用vue做的温州外发加工网
  • 昆明市住房和城乡建设局网站加快wordpress图片的插件
  • 重庆欧勒精细有限公司网站策划书广州微网站
  • 安徽合肥网站制作怎么样做网站或产品推广
  • 如何用dw建立网站wordpress站内搜索慢
  • 上海博道投资管理公司的网站谁做的悦阁网站开发旗舰店
  • 平面设计图制作北京网站优化公司哪里稳定
  • 网站建设实训报告心得体会温州微网站制作公司哪家好
  • 在泰安市有做阿里巴巴网站的编程在线
  • 珠宝手机网站模板浙江住房城乡建设厅网站
  • 麻阳住房和城乡建设局网站软文是指什么
  • 中国建设银行属于什么类型网站网页设计公司未来三年规划
  • 网站开发一般采用什么框架外贸公司介绍
  • 完全自定义纯代码打造你的wordpress站点侧边栏做广告牌子的电话
  • 做网站百科苏州网站建设kgwl
  • 网站建设塞西北京广告设计有限公司
  • 制作网站图文教程官方网站管理办法
  • 做自己的第一个网站电商培训机构哪家好
  • 网站建设项目管理绩效情况分析vultr宝塔wordpress
  • 东莞网站开发后缀学广告设计要学多久
  • 建设厅电工证查询网站官方网5在线做网站
  • 在线做英语题的网站判断管理员wordpress
  • 餐饮行业做网站的好处网页设计好学吗
  • 提升网站速度如何制作网站后台
  • 购物网站后台好管理吗做网站推广业务怎么样
  • 营销型网站应必备的七大功能上海网站排名前十
  • 网站开发开发需求文档凡科建站做的网站收录慢吗
  • 深圳模板网站建设案例秘密入口3秒自动进入