launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #08157
Re: What does SQL-nostore means?
On 15/10/11 09:03, Francis J. Lacoste wrote:
> Hi,
>
> I'm investigating bug 823473: AttributeError getting archive
> subscriptions for a given person
>
> The attribute error happens in ArchiveSubscriptionSet._getBySubscriber().
>
> The None is the store, results of:
>
> store = Store.of(subscriber)
>
> There is no way that subscriber can be None here as it's passed in by
> the caller, and the call site has an explicit check against the person
> not existing.
The person doesn't exist, and traverse_subscription's check for that
case is buggy. Our *Sets are very inconsistent -- PersonSet.getByName
returns None when the person exists, rather than raising a
NotFoundError. So it calls getBySubscriber(None, archive=some_archive),
and boom.
> So how can Store.of(subscriber) returns None when it was fetched from
> the DB?
>
> If you look at the OOPS (2045DV1) SQL logs, you'll see that the two last
> statements are the retrieving of the person and then a mysterious:
>
> SQL-nostore Transaction completed,
> status: Active
>
> What does that mean?
That's unrelated. Zope transactions transcend store boundaries, so
commits are global. That line you quote represents an
"import transaction; transaction.commit".
Attachment:
signature.asc
Description: OpenPGP digital signature
Follow ups
References