Merge lp:~sinzui/launchpad/product-release-traversal into lp:launchpad
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 13060 | ||||
Proposed branch: | lp:~sinzui/launchpad/product-release-traversal | ||||
Merge into: | lp:launchpad | ||||
Diff against target: | 0 lines | ||||
To merge this branch: | bzr merge lp:~sinzui/launchpad/product-release-traversal | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Benji York (community) | code | Approve | |
Review via email: mp+61168@code.launchpad.net |
Description of the change
Traversal to a product release must be a single query.
Launchpad bug: https:/
Pre-
ProductRelease:+rdf timeout is caused by the unneeded loading of hundreds
of milestones during traversal to locate the match release version. This
issue is broader than +rdf, +index will also timeout if the release is deep
into a list of hundreds or milestones.
ProductSeriesNa
iterates over all releases (and their parent milestone) to locate the
matching version.
-------
RULES
* ProductSeriesNa
ProductRe
single query.
* ProductReleaseS
update the query to return the release for the matching milestone.name.
QA
* View https:/
* Verify it does not timeout.
* View https:/
* Verify it does not timeout.
LINT
lib/
lib/
lib/
lib/
^ There is lint in model/productse
TEST
./bin/test -vv \
-m lp.registry.
-t -t registry.
IMPLEMENTATION
Updated ProductReleaseS
milestone name.
lib/
lib/
Updated ProductSeries.
getBySeriesAndV
the releases property to cache the milestone most uses of a release require
access to its milestone.
lib/
lib/
This branch looks good. I learned about assertStatement Count.