Product:+edit or +configure-* error 'Cannot update project details: shortlist exceeded 1000'

Bug #696913 reported by Curtis Hovey
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Critical
j.c.sackett

Bug Description

I cannot update /launchpad's description or default series because something stupid is being snapshot. Wrap the problem attribute with doNotSnapshot()

  File "/srv/launchpad.net/production/launchpad-rev-12138.2/eggs/zope.site-3.7.0-py2.6.egg/zope/site/hooks.py", line 95, in adapter_hook
    return siteinfo.adapter_hook(interface, object, name, default)
  File "/srv/launchpad.net/production/launchpad-rev-12138.2/lib/canonical/launchpad/webapp/snapshot.py", line 24, in snapshot_sql_result
    value, longest_expected=100, hardlimit=HARD_LIMIT_FOR_SNAPSHOT)
  File "/srv/launchpad.net/production/launchpad-rev-12138.2/lib/canonical/launchpad/helpers.py", line 355, in shortlist
    'Hard limit of %d exceeded.' % hardlimit)
ShortListTooBigError: Hard limit of 1000 exceeded.

Related branches

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

OOPS-1829K1356 implies specifications (which Lp does not use) and milestones are two attributes that should not be in the snapshot since they cannot be changed by editing the project object.

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 696913] Re: Cannot update project details: shortlist exceeded 1000

Are there any collections which /can/ be altered by altering the
'containing' object?

Revision history for this message
Francis J. Lacoste (flacoste) wrote : Re: Cannot update project details: shortlist exceeded 1000

Of course, there isn't and always skipping collections in snapshotting sounds like a good idea.

In order to do this, we would need to change the answers and bugs notification code. They compare the messages collection from the snapshot with the object to determine if a message was added.

That's the reason we snapshotted collection, to detect creation of new subobjects.

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

I do not think so. I think the problem is that snapshot is walking the interface and looking at all the Attributes, they rarely represents intrinsic data. Some Attributes guard private db fields, IProduct._owner for example. Maybe we want snapshot to ignore Attribute unless it is specifically requested in the snapshot.

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 696913] Re: Cannot update project details: shortlist exceeded 1000

On Tue, Jan 4, 2011 at 8:44 AM, Francis J. Lacoste
<email address hidden> wrote:
> Of course, there isn't and always skipping collections in snapshotting
> sounds like a good idea.
>
> In order to do this, we would need to change the answers and bugs
> notification code. They compare the messages collection from the
> snapshot with the object to determine if a message was added.
>
> That's the reason we snapshotted collection, to detect creation of new
> subobjects.

Ah; thats going to be very inefficient :- collections can be big :) -
I think a notification from the collection may work better.

Revision history for this message
Curtis Hovey (sinzui) wrote : Re: Cannot update project details: shortlist exceeded 1000

I had forgotten about the question message code. I think it does look at the message collection to decide to send notifications. I think this is a case where explicit is better than implicit. The code should make it clear it wants the collection snapshotted.

j.c.sackett (jcsackett)
Changed in launchpad:
assignee: nobody → j.c.sackett (jcsackett)
status: Triaged → In Progress
summary: - Cannot update project details: shortlist exceeded 1000
+ Product:+configure-blueprints Cannot update project details: shortlist
+ exceeded 1000
summary: - Product:+configure-blueprints Cannot update project details: shortlist
- exceeded 1000
+ Product:+configure-blueprints error 'Cannot update project details:
+ shortlist exceeded 1000'
Revision history for this message
Curtis Hovey (sinzui) wrote :

This error happens for all views that change the product context: +edit, +review-licence, +administer, +configure-blueprints, +configure-support, +configure-bugs, and +configure-translations.

summary: - Product:+configure-blueprints error 'Cannot update project details:
+ Product:+edit or +configure-* error 'Cannot update project details:
shortlist exceeded 1000'
Changed in launchpad:
importance: High → Critical
Curtis Hovey (sinzui)
Changed in launchpad:
milestone: 11.01 → 11.02
Revision history for this message
Launchpad QA Bot (lpqabot) wrote : Bug fixed by a commit
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
tags: added: qa-ok
removed: qa-needstesting
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.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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