Caching host aggregate metadata for scheduler

Registered by Qiu Yu

Many scheduler filters replying on host aggregate metadata for placement decisions. However, it is a known issue that DB query in filter has a performance. Because for each scheduling request, there gonna be roughly n(hosts) x n(filters has aggregate meta query) DB calls generated, which is very unscalable for any large deployment.

This blueprint is proposing a caching layer for aggregate metadata queries in scheduler. It will be based on underlying aggregate_host_get_by_metadata_key DB api to retrieve all host metadata for a specific key, if accessed, in one batch. If not metadata key not specified and only query by host, the actual cache fetching will be delayed to the key accessing time.

This blueprint will also add additional config options to control whether to enable this feature (default off), and the timeout value for the cache.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Qiu Yu
Direction:
Needs approval
Assignee:
Qiu Yu
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.