LibraryFileAlias.last_accessed is not being updated
Bug #86171 reported by
Stuart Bishop
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Low
|
Stuart Bishop |
Bug Description
We had a traceback (see original description, though that traceback is ancient) which caused us to disable updates of last_access. Do we still need last_access?
(additional historical note: an old updated description also included this:
This causes UploadFailed exception (example: OOPS-414B1001, OOPS-414B1104) and HTTPError (examples: OOPS-414C1127, OOPS-414C1064)
on +filebug with apport attached.
)
Recent OOPS: OOPS-1695K467
Related branches
lp:~stub/launchpad/librarian-last-accessed
- Stuart Bishop (community): Approve
Changed in launchpad: | |
assignee: | nobody → spiv |
description: | updated |
description: | updated |
Changed in launchpad: | |
status: | Confirmed → In Progress |
Changed in launchpad: | |
assignee: | spiv → nobody |
status: | In Progress → Triaged |
description: | updated |
description: | updated |
Changed in launchpad: | |
importance: | Medium → Critical |
Changed in launchpad: | |
status: | Triaged → Won't Fix |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
The trigger this time was a SERIALIZATION exception, which we can expect to happen regularly. I think the best fix for the trigger is to not run the librarian in the SERIALIZABLE transaction isolation, and fixing this is critical. After that, we can look at making the worker threads more robust in handling unexpected exceptions.
2007/02/18 19:14 GMT [-] Unhandled Error python2. 4/threading. py", line 422, in run
self. __target( *self._ _args, **self.__kwargs) .ubuntu. com/launchpad/ lib/twisted/ python/ threadpool. py", line 148, in _worker
context. call(ctx, function, *args, **kwargs) .ubuntu. com/launchpad/ lib/twisted/ python/ context. py", line 59, in callWithContext text(). callWithContext (ctx, func, *args, **kw) .ubuntu. com/launchpad/ lib/twisted/ python/ context. py", line 37, in callWithContext .ubuntu. com/launchpad/ lib/twisted/ internet/ threads. py", line 25, in _putResultInDef erred .ubuntu. com/launchpad/ lib/canonical/ librarian/ web.py" , line 88, in _getFileAlias
commit( ) .ubuntu. com/launchpad/ lib/canonical/ database/ sqlbase. py", line 611, in commit
ZopelessTr ansactionManage r._installed. commit( ) .ubuntu. com/launchpad/ lib/canonical/ database/ sqlbase. py", line 339, in commit
self. manager. get().commit( ) .ubuntu. com/launchpad/ lib/transaction /_transaction. py", line 380, in commit
self. _saveCommitishE rror() # This raises! .ubuntu. com/launchpad/ lib/transaction /_transaction. py", line 378, in commit
self. _commitResource s() .ubuntu. com/launchpad/ lib/transaction /_transaction. py", line 436, in _commitResources
rm. tpc_vote( self) .ubuntu. com/launchpad/ lib/transaction /_transaction. py", line 648, in tpc_vote
self. _datamanager. prepare( transaction) .ubuntu. com/launchpad/ lib/sqlos/ transaction/ __init_ _.py", line 159, in prepare
obj. sync() .ubuntu. com/launchpad/ lib/sqlobject/ main.py" , line 704, in sync
self. syncUpdate( ) .ubuntu. com/launchpad/ lib/sqlobject/ main.py" , line 723, in syncUpdate
self. _connection. _SO_update( self, values) .ubuntu. com/launchpad/ lib/sqlobject/ dbconnection. py", line 649, in _SO_update
self. query(" UPDATE %s SET %s WHERE %s = %s" % .ubuntu. com/launchpad/ lib/sqlobject/ dbconnection. py", line 865, in query ion._query( self._connectio n, s) .ubuntu. com/launchpad/ lib/sqlobject/ dbconnection. py", line 394, in _query
self. _executeRetry( conn, conn.cursor(), ...
Traceback (most recent call last):
File "/usr/lib/
File "/srv/librarian
File "/srv/librarian
return self.currentCon
File "/srv/librarian
return func(*args,**kw)
--- <exception caught here> ---
File "/srv/librarian
result = f(*args, **kwargs)
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
File "/srv/librarian
return self._dbConnect
File "/srv/librarian