PPA AJAX build status indicators don't update properly

Bug #830676 reported by Max Bowsher
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Critical
William Grant

Bug Description

In the PPA +packages page, there are build status icons in the rightmost column of the table. If the page is loaded whilst the package has a build in progress, these AJAX-update to inform of its completion.

I have recently noticed that the list of links to architectures that appears alongside the icon is no longer being updated properly. Instead, at the first update which actually changes things, the list of links to architectures disappears.

So, suppose the page is initially loaded with an indicator in the state:

(yellow-grey animated clock) i386 amd64

and then the amd64 build completes, it changes to:

(yellow-grey animated clock)

when it should have changed to:

(yellow-grey animated clock) i386

Related branches

tags: added: regression
Changed in launchpad:
status: New → Triaged
importance: Undecided → Critical
tags: added: criticasl-analysis
tags: added: critical-analysis
removed: criticasl-analysis
summary: - Regression in PPA AJAX build status indicators
+ PPA AJAX build status indicators don't update properly
Changed in launchpad:
importance: Critical → High
tags: added: buildd-manager ppa
removed: regression
Revision history for this message
Francis J. Lacoste (flacoste) wrote :

Looking at the involved code history, I'd be very surprised that this ever worked properly. The code was almost unchanged since launch.

So I'm removing the regression tag.

The problem seem to lie in the fact that getBuildSummariesForSourceIds won't return all of the builds for the source package but only the one relevant to a global status. So if some package are building, the summary is BUILDING and it won't return the NEEDSBUILD ones, once the BUILDING build completes, it updates to only list the NEEDSBUILD one. (And for some reason, stops the polling.)

That collation of builds is done by IBinaryPackageBuildSet.getStatusSummaryForBuilds

Revision history for this message
Max Bowsher (maxb) wrote :

No, this really did work. For long enough for me to be quite used to it, and notice it quite clearly when it stopped working.

William Grant (wgrant)
Changed in launchpad:
importance: High → Critical
tags: added: regression
Revision history for this message
William Grant (wgrant) wrote :

It was indeed a regression, in r13548. 13303.10.6 teaches the JS API client to map subobjects of results into real Entry objects, which broke the (not tested, or perhaps only by the late Windmill?) Archive:+packages JS.

Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
Changed in launchpad:
assignee: nobody → William Grant (wgrant)
tags: added: qa-needstesting
Changed in launchpad:
status: Triaged → Fix Committed
Revision history for this message
Francis J. Lacoste (flacoste) wrote :

William, thanks for the analysis and the fix!

William Grant (wgrant)
tags: added: qa-ok
removed: qa-needstesting
William Grant (wgrant)
Changed in launchpad:
status: Fix Committed → Fix Released
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.