Ticket #3446 (assigned defect)
Rate of `database is locked` errors is too high
| Reported by: | cboos | Owned by: | cboos |
|---|---|---|---|
| Priority: | high | Milestone: | not applicable |
| Component: | general | Version: | devel |
| Severity: | major | Keywords: | database lock pysqlite |
| Cc: | trac@…, carlos@… |
Description
I still get way too many database is locked errors. This morning, I simply tried to log in and the server was not loaded (approx. half of the threads were "_" Waiting for connection).
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 314, in dispatch_request
dispatcher.dispatch(req)
File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 186, in dispatch
req.session = Session(self.env, req)
File "/usr/lib/python2.3/site-packages/trac/web/session.py", line 52, in __init__
self.promote_session(sid)
File "/usr/lib/python2.3/site-packages/trac/web/session.py", line 125, in promote_session
"AND authenticated=0", (sid,))
File "/usr/lib/python2.3/site-packages/trac/db/util.py", line 47, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/usr/lib/python2.3/site-packages/trac/db/sqlite_backend.py", line 44, in execute
args or [])
File "/usr/lib/python2.3/site-packages/trac/db/sqlite_backend.py", line 36, in _rollback_on_error
return function(self, *args, **kwargs)
OperationalError: database is locked
Jonas/Christopher, can one of you attach a recent gzipped dump of the t.e.o Trac log here? I'd like to make some stats about the locks frequency. Ideally I'd like to understand why this still happens so frequently and find ways to improve the situation...
Beside locks, I'm also frequently seeing blank pages when going on the Markup Trac. But probably that's a different issue.


