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.laco...@canonical.com
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : launchpad-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp