Selectable Translator

Registered by Masahito Muroi on 2016-04-07

DataSource Driver creates all translator and publishes its schema when it's initialized. If the driver is one of polling driver, it polls data of all table from related services, even though any policy rules don't use the schema. The behavior causes performance issues when an unnecessary translator takes a long time to fetch data from related service.

This BP proposes a new feature that policy writer can stop a translator to poll data from service. The issue described above doesn't happen in the usual case. So the drivers poll data for all translator in default. If policy writer is sure not to use some schema and realizes the schema cause the performance issue, the writer disables the schema.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Medium
Drafter:
Masahito Muroi
Direction:
Needs approval
Assignee:
Masahito Muroi
Definition:
Approved
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

This is a good idea. Would it suffice to do this completely within the datasource driver? That is, the datasource driver knows whether something has subscribed to each of the tables. So it could choose to wait to pull data until something has subscribed to that table. That behavior could also be configured within the datasource driver so that the user would could override the default behavior. Given the complexity of the change, I'd think we'd want a spec so we can understand what changes would need to be made. Or at the least more details in the blueprint.

Gerrit topic: https://review.openstack.org/#q,topic:bp/selectable-translator,n,z

Addressed by: https://review.openstack.org/346677
    Introduce 'lazy_tables' flag to nova datasource driver

Addressed by: https://review.openstack.org/364326
    Support lazy tables in openstack drivers

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.