Agent resource cache updates
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
In Progress
|
Medium
|
LIU Yulong |
Bug Description
1. Agent resource cache has an infinite growth set: _satisfied_
https:/
there is no entry removal for this set.
2. Because this set has a non-standard structure, for instance:
set([('Port', ('id', (u'830d035e-
It's hardly to remove all entries for one resource at all, because if some codes query cache by filter=None, some codes use fitler={"x":y, "a": b}, the entries are various, especially when the code is not in Neutron.
3. If the port removed, and added again, because the query is in the _satisfied_
It may return None or stale resource.
4. If users query one resource like:
q1 = {"id": 1}, and return R
q1 = {"id": 1, name="2"}, and return None
q1 = {"id": 1, device="3"}, and return None
The set will also grow up. And it does not avoid bulk_pull call to neutron-server at all.
So, it's better to remove such "server_queries" records. Because, if the resource is in cache, just return it. If it is not, get it from neutron-server.
description: | updated |
description: | updated |
description: | updated |
Changed in neutron: | |
importance: | Undecided → Medium |
assignee: | nobody → Rodolfo Alonso (rodolfo-alonso-hernandez) |
assignee: | Rodolfo Alonso (rodolfo-alonso-hernandez) → LIU Yulong (dragon889) |
Fix proposed to branch: master /review. opendev. org/c/openstack /neutron/ +/904169
Review: https:/