SnapShot OOPS editing team with 13000 members

Bug #488762 reported by Diogo Matsubara
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Invalid
High
Brad Crittenden
lazr.lifecycle
Fix Released
Undecided
Brad Crittenden

Bug Description

As seen in OOPS-1420EA331 a ShortListTooBigError: Hard limit of 5000 exceeded was raised while editing the team's description.

Related branches

Curtis Hovey (sinzui)
Changed in launchpad-registry:
status: New → Triaged
summary: - OOPS editing team description
+ OOPS editing team with 13000 members
Changed in launchpad-registry:
importance: Undecided → High
Revision history for this message
Curtis Hovey (sinzui) wrote : Re: OOPS editing team with 13000 members

This is like the branches problem that launchpad and u1 had. In this case, there are too many members. The core of the problem is not that the hard limit was exceeded, but that the automated rules for snapshots (the interface) is copying the attributes that are into intrinsic to the object. The specific attributes in this case appear to be activemember, allmembers, deactivatedmembers, approvedmembers, expiredmembers, inactivemembers, invited_members, member_memberships, pending_memberships, proposed_memberships. These fileds are often CollectionField...Snapshot should not be coying these fields.

summary: - OOPS editing team with 13000 members
+ SnapShot OOPS editing team with 13000 members
Changed in launchpad-foundations:
status: New → Triaged
importance: Undecided → Low
Curtis Hovey (sinzui)
Changed in launchpad-registry:
milestone: none → 3.1.12
Brad Crittenden (bac)
Changed in launchpad-registry:
assignee: nobody → Brad Crittenden (bac)
status: Triaged → In Progress
Revision history for this message
Curtis Hovey (sinzui) wrote :

My idea about ignoring CollectionField is BAD in all caps. We need a explicit way to tell snapshot what can be ignored. Maybe.

1. Define IDoNotSnapShot in lazr.lifecycle.snapshot.

2. Update laz.lifecycle.snapshot.Snapshot ignores any field that provides IDoNotSnapShot eg.
    if IField.providedBy(field) and not IDoNotSnapShot.providedBy(field):

3. Update the problem fields in Launchpad (eg. Person.allmembers, Product.branches, ...) by adding the interface to the instance attribute eg.
    IPublicPerson:
        allmembers = Exported(...)
        alsoProvides( allmembers, IDoNotSnapShot)

Brad Crittenden (bac)
Changed in launchpad-foundations:
status: Triaged → In Progress
assignee: nobody → Brad Crittenden (bac)
Brad Crittenden (bac)
Changed in launchpad-foundations:
milestone: none → 3.1.12
status: In Progress → Fix Committed
Brad Crittenden (bac)
Changed in launchpad-foundations:
status: Fix Committed → Invalid
Changed in lazr.lifecycle:
status: New → Fix Committed
assignee: nobody → Brad Crittenden (bac)
milestone: none → 1.0
Revision history for this message
Diogo Matsubara (matsubara) wrote : Bug fixed by a commit
Changed in launchpad-foundations:
status: Invalid → Fix Committed
Revision history for this message
Brad Crittenden (bac) wrote :

r 9973

Changed in launchpad-registry:
status: In Progress → Fix Committed
Changed in launchpad-foundations:
status: Fix Committed → Invalid
Brad Crittenden (bac)
Changed in launchpad-registry:
status: Fix Committed → Fix Released
Gary Poster (gary)
Changed in lazr.lifecycle:
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.