寻找遗失的tags

时间:2022-10-10 14:24:22

现象:查询数据库,存在tags:{} 的字段,但是api查询时,不存在tags字段

寻找遗失的tags

寻找遗失的tags

日志定位Sample的init方法中对resource_metadata的扁平处理:

寻找遗失的tags

寻找遗失的tags

3.对应方法分析

在ceilometer/utils.py中,对字典进行嵌套处理,在如下递归调用时,当叶子节点为"tags":{}时,由于对{}的递归分析,在for name,value in sorted(six.iteritems(d))   其中sorted(six.iteritems(d))值为[],从而将tags一并抛弃

寻找遗失的tags

4.改善方法

1.在递归时,进行非空判断。如果是空,则从绿色部分返回值

寻找遗失的tags

5 修改代码,再次测试

寻找遗失的tags