launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #08174
Re: What does SQL-nostore means?
Hi William,
On 11-10-14 07:50 PM, William Grant wrote:
> 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.
Ah right! I wasn't looking at the right traverse_subscription
implementation (was looking actually at the one in Code!)
Thanks for the clarifications!
>
>> 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".
>
--
Francis J. Lacoste
francis.lacoste@xxxxxxxxxxxxx
Attachment:
signature.asc
Description: OpenPGP digital signature
References