Selectable Translator
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
- Started by
- Completed by
Related branches
Related bugs
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:/
Addressed by: https:/
Introduce 'lazy_tables' flag to nova datasource driver
Addressed by: https:/
Support lazy tables in openstack drivers