nova/releasenotes/notes/instance-list-batching-45f90a8b13eef512.yaml
Dan Smith c3a77f80b1 Make instance_list perform per-cell batching
This makes the instance_list module support batching across cells
with a couple of different strategies, and with room to add more
in the future.

Before this change, an instance list with limit 1000 to a
deployment with 10 cells would generate a query to each cell
database with the same limit. Thus, that API request could end
up processing up to 10,000 instance records despite only
returning 1000 to the user (because of the limit).

This uses the batch functionality in the base code added in
Iaa4759822e70b39bd735104d03d4deec988d35a1
by providing a couple of strategies by which the batch size
per cell can be determined. These should provide a lot of gain
in the short term, and we can extend them with other strategies
as we identify some with additional benefits.

Closes-Bug: #1787977
Change-Id: Ie3a5f5dc49f8d9a4b96f1e97f8a6ea0b5738b768
2018-08-27 06:44:32 -07:00

11 lines
624 B
YAML

---
features:
- |
Instance list operations across cells are now made more efficient by batching queries
as a fraction of the total limit for a request. Before this, an instance list with a
limit of 1000 records (the default) would generate queries to each cell with that
limit, and potentially process/sort/merge $num_cells*$limit records, despite only
returning $limit to the user. The strategy can now be controlled via
``[api]/instance_list_cells_batch_strategy`` and related options to either use
fixed batch sizes, or a fractional value that scales with the number of configured
cells.