Product release finder should import all files

Bug #415595 reported by Michael Kuhn
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Low
Unassigned

Bug Description

The product release finder should import all files for a particular release.
For example, I have sushi-1.0.1.tar.bz2 and sushi-1.0.1.tar.gz, but the release finder only imports the .tar.bz2.

Related branches

Revision history for this message
Curtis Hovey (sinzui) wrote :

Both file types are supported and tests show that multiples will match at the same time. How long has the tar.gz not been found?

The file will not be downloaded if it was is in the Launchpad librarian. Deletion from the librarian is a rare event, so if it was added, then marked for deletion, it will not be downloaded even though you cannot see it.

Changed in launchpad-registry:
status: New → Incomplete
Revision history for this message
Michael Kuhn (suraia) wrote :

This does not seem to be a problem of the finder not finding the .tar.gz:
Looking at the code (http://bazaar.launchpad.net/~launchpad-pqm/launchpad/stable/annotate/head:/lib/lp/registry/scripts/productreleasefinder/finder.py) it seems that only the first matching file is added. All other release tarballs are ignored, see hasReleaseTarball(), addReleaseTarball() and handleRelease().

Curtis Hovey (sinzui)
Changed in launchpad-registry:
status: Incomplete → Triaged
importance: Undecided → Low
tags: added: story-product-release-finder
Revision history for this message
Curtis Hovey (sinzui) wrote :

hasReleaseTarball() wrongly assumes that if the release has anything like a code tarball, that there all the downloading is complete. So downloading for a release stops once the first package is downloaded which means release notes and installers are also being ignored.

handleRelease() knows the filename. It should pass it to hasReleaseTarball() to verify if the release already has the file. Rename hasReleaseTarball => hasReleaseFile(self, product_name, series_name, release_name, file_name)

Curtis Hovey (sinzui)
Changed in launchpad-registry:
assignee: nobody → Curtis Hovey (sinzui)
milestone: none → 3.1.10
status: Triaged → In Progress
Revision history for this message
Curtis Hovey (sinzui) wrote :

Fixed in launchpad devel r9777.

Changed in launchpad-registry:
status: In Progress → Fix Committed
Revision history for this message
Curtis Hovey (sinzui) wrote :

Testing reveals that this is not fixed yet. Running the PRF in debug mode I can see an abort is called during addReleaseTarball(). The code has a loop that duplicates the old hasReleaseFile() method to end early if there is a binary associated with the release.

We want to remove the whole loop because hasReleaseFile() makes the decision; addReleaseTarball() should do as it is told. This will also make adding files faster since the the loops not needed.

Changed in launchpad-registry:
status: Fix Committed → In Progress
Revision history for this message
Curtis Hovey (sinzui) wrote :

Really fixed in launchpad devel r9827.

Changed in launchpad-registry:
status: In Progress → Fix Committed
Ursula Junque (ursinha)
tags: added: current-rollout-blocker
Revision history for this message
Curtis Hovey (sinzui) wrote : Bug 415595 Fix released

Fixed released in launchpad-project 3.1.10.

Changed in launchpad-registry:
status: Fix Committed → Fix Released
Curtis Hovey (sinzui)
Changed in launchpad:
assignee: Curtis Hovey (sinzui) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.