Accepting multiple identical syncs from unapproved creates SPR with duplicate BPBs

Bug #1560889 reported by Colin Watson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
Critical
Unassigned

Bug Description

On 2016-03-22, the following packages were all synced from Debian unstable. Since Ubuntu xenial was frozen at that point, the syncs landed in the unapproved queue:

  https://launchpad.net/ubuntu/+source/mate-dock-applet/0.70-1
  https://launchpad.net/ubuntu/+source/mate-settings-daemon/1.12.1-2
  https://launchpad.net/ubuntu/+source/mate-tweak/3.5.8-1

However, because they were queued, somebody else made the same sync request, which was also queued:

[2016-03-22 12:09:40,374: INFO/Worker-3] Running <PlainPackageCopyJob to copy package mate-tweak from debian to ubuntu, PROPOSED pocket, in ubuntu xenial> (ID 30537109) in status Waiting
[2016-03-22 12:09:40,464: DEBUG/Worker-3] Job suspended itself
[2016-03-22 12:09:40,483: INFO/MainProcess] Task lp.services.job.celeryjob.CeleryRunJobIgnoreResult[PlainPackageCopyJob_30537109_4a82fa17-b0bf-4e60-b7a9-c5c2d5196935] succeeded in 0.215770613868s: None

[2016-03-22 14:12:24,195: INFO/Worker-1] Running <PlainPackageCopyJob to copy package mate-tweak from debian to ubuntu, PROPOSED pocket, in ubuntu xenial> (ID 30538398) in status Waiting
[2016-03-22 14:12:24,263: DEBUG/Worker-1] Job suspended itself
[2016-03-22 14:12:24,277: INFO/MainProcess] Task lp.services.job.celeryjob.CeleryRunJobIgnoreResult[PlainPackageCopyJob_30538398_66de6df5-3fcf-4030-99f8-90cb815c5c87] succeeded in 0.14990738593s: None

These were then accepted in a single "queue accept" command, resulting in a duplicate acceptance:

[2016-03-22 17:36:05,458: INFO/Worker-2] Running <PlainPackageCopyJob to copy package mate-tweak from debian to ubuntu, PROPOSED pocket, in ubuntu xenial> (ID 30537109) in status Waiting
[2016-03-22 17:36:05,872: DEBUG/Worker-2] Created amd64 build of mate-tweak 3.5.8-1 in ubuntu xenial PROPOSED [9386813] in Primary Archive for Ubuntu (3260)
[2016-03-22 17:36:05,924: INFO/Worker-1] Running <PlainPackageCopyJob to copy package mate-tweak from debian to ubuntu, PROPOSED pocket, in ubuntu xenial> (ID 30538398) in status Waiting
[2016-03-22 17:36:06,331: DEBUG/Worker-1] Created amd64 build of mate-tweak 3.5.8-1 in ubuntu xenial PROPOSED [9386814] in Primary Archive for Ubuntu (3260)
[2016-03-22 17:36:06,954: DEBUG/Worker-2] Building recipients list.
[2016-03-22 17:36:06,957: DEBUG/Worker-2] Adding recipient: 'Barry Warsaw <email address hidden>'
[2016-03-22 17:36:07,010: DEBUG/Worker-2] Sent a mail:
[2016-03-22 17:36:07,010: DEBUG/Worker-2] Subject: [ubuntu/xenial-proposed] mate-tweak 3.5.8-1 (Accepted)
[2016-03-22 17:36:07,011: DEBUG/Worker-2] Sender: Ubuntu Installer <email address hidden>
[2016-03-22 17:36:07,011: DEBUG/Worker-2] Recipients: Barry Warsaw <email address hidden>
[2016-03-22 17:36:07,011: DEBUG/Worker-2] Bcc: Launchpad Archiver <email address hidden>
[...]
[2016-03-22 17:36:07,062: DEBUG/Worker-1] Building recipients list.
[2016-03-22 17:36:07,068: DEBUG/Worker-1] Adding recipient: 'Timo Jyrinki <email address hidden>'
[2016-03-22 17:36:07,144: DEBUG/Worker-1] Sent a mail:
[2016-03-22 17:36:07,145: DEBUG/Worker-1] Subject: [ubuntu/xenial-proposed] mate-tweak 3.5.8-1 (Accepted)
[2016-03-22 17:36:07,145: DEBUG/Worker-1] Sender: Ubuntu Installer <email address hidden>
[2016-03-22 17:36:07,145: DEBUG/Worker-1] Recipients: Timo Jyrinki <email address hidden>
[2016-03-22 17:36:07,145: DEBUG/Worker-1] Bcc: Launchpad Archiver <email address hidden>

In all three cases, the result involved duplicated builds (even more curiously, in some of those cases both builds were even accepted at the upload stage), and we noticed when it was impossible to copy the results to the release pocket due to a NotOneError in BinaryPackageBuildSet.getBySourceAndLocation (e.g. https://oops.canonical.com/?oopsid=OOPS-3ec63955b83d2d6b3926c52cfd7c97b4).

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.