Database permission exception in ticket expiration

Bug #74941 reported by Stuart Bishop
2
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Critical
Francis J. Lacoste

Bug Description

Failed on staging:

== Expire tickets ==
07:18:27 INFO creating lockfile
07:18:29 INFO Expiring OPEN and NEEDSINFO tickets without activity for the last 15 days.
07:18:29 INFO Found 12 tickets to expire.
Traceback (most recent call last):
  File "./expire-tickets.py", line 66, in ?
    sys.exit(main(sys.argv))
  File "./expire-tickets.py", line 55, in main
    janitor.expireTickets(ztm)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/cronscripts/../lib/canonical/launchpad/scripts/ticketexpiration.py", line 68, in expireTickets
    "This support request was expired because it remained in "
  File "/srv/launchpad.ubuntu.com/staging/launchpad/lib/canonical/launchpad/database/ticket.py", line 76, in notify_ticket_modified
    edited_fields=edited_fields, user=msg.owner))
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/zope/event/__init__.py", line 23, in notify
    subscriber(event)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/zope/app/event/dispatching.py", line 66, in dispatch
    for ignored in subscribers(event, None):
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/zope/component/__init__.py", line 181, in subscribers
    return sitemanager.subscribers(objects, interface)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/zope/component/site.py", line 89, in subscribers
    return self.adapters.subscribers(required, provided)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/zope/interface/adapter.py", line 481, in subscribers
    subscribers = [subscription(*objects)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/zope/app/event/objectevent.py", line 192, in objectEventNotify
    adapters = subscribers((event.object, event), None)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/zope/component/__init__.py", line 181, in subscribers
    return sitemanager.subscribers(objects, interface)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/zope/component/site.py", line 89, in subscribers
    return self.adapters.subscribers(required, provided)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/zope/interface/adapter.py", line 481, in subscribers
    subscribers = [subscription(*objects)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/cronscripts/../lib/canonical/launchpad/mailnotification.py", line 889, in __init__
    self.send()
  File "/srv/launchpad.ubuntu.com/staging/launchpad/cronscripts/../lib/canonical/launchpad/mailnotification.py", line 972, in send
    body = self.getBody()
  File "/srv/launchpad.ubuntu.com/staging/launchpad/cronscripts/../lib/canonical/launchpad/mailnotification.py", line 1186, in getBody
    if self.unsupported_language:
  File "/srv/launchpad.ubuntu.com/staging/launchpad/cronscripts/../lib/canonical/launchpad/mailnotification.py", line 983, in unsupported_language
    supported_languages = self.ticket.target.getSupportedLanguages()
  File "/srv/launchpad.ubuntu.com/staging/launchpad/lib/canonical/launchpad/database/distribution.py", line 447, in getSupportedLanguages
    return get_supported_languages(self)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/canonical/launchpad/interfaces/tickettarget.py", line 36, in get_supported_languages
    langs |= contact.getSupportedLanguages()
  File "/srv/launchpad.ubuntu.com/staging/launchpad/lib/canonical/launchpad/database/person.py", line 385, in getSupportedLanguages
    known_languages = shortlist(self.languages)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/canonical/launchpad/helpers.py", line 308, in shortlist
    L = list(sequence)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/sqlobject/main.py", line 1650, in __iter__
    return conn.iterSelect(self)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/sqlobject/dbconnection.py", line 888, in iterSelect
    select, keepConnection=True)))
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/sqlobject/dbconnection.py", line 798, in __init__
    self.dbconn._executeRetry(self.rawconn, self.cursor, self.query)
  File "/srv/launchpad.ubuntu.com/staging/launchpad/database/schema/../../lib/sqlobject/dbconnection.py", line 389, in _executeRetry
    return cursor.execute(query)
psycopg.ProgrammingError: ERROR: permission denied for relation personlanguage

Revision history for this message
Francis J. Lacoste (flacoste) wrote :

This was caused by the landing of tt-localized-requests which requires access to personlanguage.

Changed in launchpad:
assignee: nobody → flacoste
importance: Undecided → Critical
status: Unconfirmed → Confirmed
Revision history for this message
Francis J. Lacoste (flacoste) wrote :

RF 4312.

Changed in launchpad:
status: Confirmed → Fix Committed
Revision history for this message
Francis J. Lacoste (flacoste) wrote :

Rolled out in 1.77 on 2006/12/15.

Changed in launchpad:
status: Fix Committed → Fix Released
visibility: private → public
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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