一起插件类找不到的疑难问题分析
问题现象
补丁升级后,客户反馈移动端流程审批某些单据打开时报错,从日志上看,提示
kd.scmc.mobim.plugin.form.receivebill.PurReceiveBillEditPlugin not find
分析步骤
一、检查单据绑定插件情况,判断是否插件绑定错误
检查发现,问题表单未绑定kd.scmc.mobim.plugin.form.receivebill.PurReceiveBillEditPlugin插件
二、尝试在PC端重现问题。 打开chrome调试工具,修改窗口模式到IOS,打开对应表单审批页面,未报错,问题不重现
三、审批绑定页面是否错误,绑定到其他表单?
后台查询,究竟绑定kd.scmc.mobim.plugin.form.receivebill.PurReceiveBillEditPlugin是哪个页面
查询设计时元数据表 t_meta_formdesign
设计时元数据无绑定该插件!
由此得到结论,是运行时元数据有某种问题。
元数据缓存分为本地缓存和分布式缓存两个部分,
和运维确认,环境在凌晨5点有重启集群,而问题已经发生一天,排除本地缓存
如果是分布式缓存里的元数据错误,为何PC端打开表单没有问题
四、问题陷入困境,再次和现场确认现象,得到新的信息:
移动端审批,在云之家待办打开,没有报错。同样的审批任务,在流程助手公共号中打开,会报错。
手机连接电脑wifi,通过fiddler抓包对比两者差异,
发现两者虽然参数使用的是一个formid,但其他参数不一致,一个使用的是流程活动实例id,一个使用的是流程实例id
五、进一步检查配置
流程和活动两种模式最终访问的单据不同,在流程助手公共号中打开的表单,在当前开发平台无法搜索到,即无设计时元数据
总结:
经和单据开发确认,另有一个使用该插件的单据在几个月前有灰度发布,最近做了删除。
最终定位到原因:
灰度发布的单据,在流程节点配置上仍可以选择,现场选到了灰度的数据; 灰度功能场景并不完备,需要持续完善
由于元数据依赖版本重建,删除操作没有版本记录,不会重建运行时元数据,标准产品在删除单据时,需要同步删除运行时元数据表 t_meta_entity t_meta_form
和现场沟通时,需要明确问题关键特征,避免排查错方向
一起插件类找不到的疑难问题分析
本文2024-09-23 00:26:22发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-139470.html