Bug #3184
FEP-HA的数据队列守护功能有问题
Start date:
11/06/2023
Due date:
11/10/2023
% Done:
100%
Estimated time:
Defect version:
Description
FEP-HA使用sysload将semodel.db的转发相关信息写入redis中(包括使用的转发服务号)
在fep-ha中 使用putayc等命令将采集到的值更新到转发数据中(此时将值放到redis的对应转发key-value中,再将变化的点号放到一个变化队列中list),转发相关程序从队列获取已经变化的点号,获取对应的值转发同时删除队列的点号;
场景
如果转发服务没有启动没有处理队列,那么在redis中队列会无限增加,有可能撑爆redis;
所以在em_daq中会对相关队列进行限制,当队列到达一定数据量时,删减老的队列数据,保证队列的长度限制;
现在的问题:
em_daq维护队列是根据redis的转发服务号来依次维护相关队列;
但是sysload只是将启用的(flag=1(启用),type=2(转发))转发服务写入redis;
如果semodel.db配置了相关采集-转发,但转发的服务没有启用,那么会出现 em_daq未守护相关服务号的变化数据队列,导致redis内存一直增加;
修改方案:
sysload 将所有配置的转发服务号都写入redis中,保证em_daq可以守护所有数据队列
影响:
影响所有fep-ha使用sysload的版本;
Related issues
History
Updated by pengfei xu 12 months ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100