Comment 1 for bug 820055

Revision history for this message
Julian Edwards (julian-edwards) wrote :

The code in question, since it's been lovingly omitted in the traceback from Zope, is:

        permission = ArchivePermission.selectOneBy(
            archive=archive, person=person,
            sourcepackagename=sourcepackagename,
            permission=ArchivePermissionType.UPLOAD)
        Store.of(permission).remove(permission)

Store.of(None) returns None, so I suspect this is a race condition. Either way, if the selectOneBy returns None then it should just return as the permission was already deleted.