Packages build but fail to upload due to email address issue
Bug #408528 reported by
Onkar Shinde
This bug affects 4 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Triaged
|
High
|
Unassigned |
Bug Description
The subject says pretty much what I know about this build failure. Build and upload log can be accessed at https:/
Related branches
lp://staging/~cprov/launchpad/bug-408528-ensurePerson-again
- Curtis Hovey (community): Approve
- Graham Binns (community): Approve
-
Diff: 112 lines2 files modifiedlib/lp/registry/model/person.py (+32/-11)
lib/lp/registry/tests/test_personset.py (+25/-0)
tags: | added: motu |
Changed in launchpad-foundations: | |
status: | Confirmed → In Progress |
Changed in launchpad-foundations: | |
assignee: | nobody → Celso Providelo (cprov) |
Changed in launchpad-foundations: | |
assignee: | Celso Providelo (cprov) → nobody |
importance: | Undecided → High |
status: | In Progress → Triaged |
Changed in soyuz: | |
assignee: | nobody → Celso Providelo (cprov) |
importance: | Undecided → High |
milestone: | none → 3.0 |
status: | New → In Progress |
Changed in soyuz: | |
status: | Fix Committed → Fix Released |
Changed in soyuz: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
The traceback is available in http:// launchpadlibrar ian.net/ 29832264/ vK3kLYHOztqK4D9 j4T411UIoC6R. txt
It looks like PersonSet. ensurePerson( ) is behaving badly for email addresses already associated with SSO accounts.
In those cases EmailsAddress exists by has an empty 'person', so PersonSet. getByEmail will return None and ensurePerson will proceed with PersonSet. createPersonAnd Email() ... that will obviously explode trying to create a duplicated EmailAddress record.
IMHO, it could be fixed by replacing PS.getByEmail with a custom query on EmailAddress, which would allow the code to reuse the existing EmailAddress record and simply associate it with a new Person.
(I'm not sure if it's clear, but Soyuz need a Person FK)