Redis loglevel_db 中残留2至n个下划线前缀的冗余表项问题
1. 问题描述
Redis loglevel_db 中残留2~n个下划线前缀的冗余表项问题
在 Redis 因忙或服务异常未及时处理带下划线前缀的临时表项时,重启 swss 容器将导致 loglevel_db 出现 2 ~ n 个下划线前缀的冗余表项,且在 Redis 恢复后也不会被删除,将一直残留在 loglevel_db 中。
2. 问题分析
2.1. 定位
在 Redis 因忙或服务异常未及时处理带下划线前缀的临时表项时,重启 swss 容器将导致 loglevel_db 出现“临时表项的临时表项”,即产生双下划线前缀的临时表项。进而,在第二次重启时将产生三下划线前缀的临时表项,且这2~n 个下划线前缀的表项在 redis 恢复后也不会被删除,将一直残留并累积在loglevel_db中。
(1)第一次出现临时表被当做正常表项的监控记录如下图: