1509: Throws an exception upon a click on review request

kcg***@gmai***** (Google Code) (Is this you? Claim this profile.)
March 27, 2010
'm seeing this error for reviewboard.twitter.com when I click on a review 
request. 

OperationalError at /r/
database is locked
Request Method:	GET
Request URL:	https://reviewboard.twitter.com/r/8316/
Exception Type:	OperationalError
Exception Value:	
database is locked
Exception Location:	/usr/lib/python2.4/site-packages/Django-
1.0.2_final-py2.4.egg/django/db/backends/__init__.py in _commit, line 28
Python Executable:	/usr/bin/python
Python Version:	2.4.3
Python Path:	['/var/www/reviewboard/conf', '/usr/lib/python2.4/site-
packages/setuptools-0.6c8-py2.4.egg', '/usr/lib/python2.4/site-
packages/TracWysiwyg-0.2_r4135-py2.4.egg', '/usr/lib/python2.4/site-
packages/TracDiscussion-0.6-py2.4.egg', '/usr/lib/python2.4/site-
packages/TracSpamFilter-0.2.1dev_r6990-py2.4.egg', 
'/usr/lib/python2.4/site-packages/TracAccountManager-0.2.1dev_r3857-
py2.4.egg', '/usr/lib64/python2.4/site-packages', 
'/usr/lib/python2.4/site-packages/django_evolution-0.0.0-py2.4.egg', 
'/usr/lib/python2.4/site-packages/Django-1.0.2_final-py2.4.egg', 
'/usr/lib/python2.4/site-packages/PIL-1.1.6-py2.4-linux-x86_64.egg', 
'/usr/lib/python2.4/site-packages/TracCustomFieldAdmin-0.2-
py2.4.egg', '/usr/lib/python2.4/site-packages/TracDateField-1.0.1-
py2.4.egg', '/usr/lib/python2.4/site-packages/flup-1.0.1-py2.4.egg', 
'/usr/lib/python2.4/site-packages/NavAdd-0.1-py2.4.egg', 
'/usr/lib/python2.4/site-packages/TicketValidator-0.1-py2.4.egg', 
'/usr/lib/python2.4/site-packages/ReviewBoard-1.0alpha4-py2.4.egg', 
'/usr/lib/python2.4/site-packages/Djblets-0.5alpha3-py2.4.egg', 
'/usr/lib/python2.4/site-packages/simplejson-2.0.9-py2.4-linux-
x86_64.egg', '/usr/lib/python2.4/site-packages/Pygments-1.0-
py2.4.egg', '/usr/lib/python2.4/site-packages/TracXMLRPC-1.0.0-
py2.4.egg', '/usr/lib/python2.4/site-packages/Trac-0.11.4-py2.4.egg', 
'/usr/lib/python2.4/site-packages/GChartWrapper-0.8-py2.4.egg', 
'/usr/lib/python2.4/site-packages/gchartplugin-0.1-py2.4.egg', 
'/usr/lib64/python24.zip', '/usr/lib64/python2.4', 
'/usr/lib64/python2.4/plat-linux2', '/usr/lib64/python2.4/lib-tk', 
'/usr/lib64/python2.4/lib-dynload', '/usr/lib64/python2.4/site-
packages/Numeric', '/usr/lib64/python2.4/site-packages/PIL', 
'/usr/lib64/python2.4/site-packages/gtk-2.0', '/usr/lib/python2.4/site-
packages']
Server time:	Mon, 22 Feb 2010 14:24:30 -0800
*NOTE: Do not post confidential information in this bug report.*

What version are you running?


What's the URL of the page containing the problem?


What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?


What operating system are you using? What browser?


Please provide any additional information below.
david
#1 david
Do you have the full traceback?
  • +NeedInfo
#2 dchen******@gmai***** (Google Code) (Is this you? Claim this profile.)
I have a traceback. We've been getting a lot of these on reviewboard.liftweb.net.
Whenever this happens people report that RB times out on them:

Traceback (most recent call last):

 File
"/usr/lib/python2.5/site-packages/Django-1.1.1-py2.5.egg/django/core/handlers/base.py",
line 92, in get_response
   response = callback(request, *callback_args, **callback_kwargs)

 File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.5.1-py2.5.egg/reviewboard/accounts/decorators.py",
line 27, in _check
   return view_func(*args, **kwargs)

 File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.5.1-py2.5.egg/reviewboard/reviews/views.py",
line 118, in review_detail
   visited.save()

 File
"/usr/lib/python2.5/site-packages/Django-1.1.1-py2.5.egg/django/db/models/base.py",
line 410, in save
   self.save_base(force_insert=force_insert, force_update=force_update)

 File
"/usr/lib/python2.5/site-packages/Django-1.1.1-py2.5.egg/django/db/models/base.py",
line 474, in save_base
   rows = manager.filter(pk=pk_val)._update(values)

 File
"/usr/lib/python2.5/site-packages/Django-1.1.1-py2.5.egg/django/db/models/query.py",
line 444, in _update
   return query.execute_sql(None)

 File
"/usr/lib/python2.5/site-packages/Django-1.1.1-py2.5.egg/django/db/models/sql/subqueries.py",
line 120, in execute_sql
   cursor = super(UpdateQuery, self).execute_sql(result_type)

 File
"/usr/lib/python2.5/site-packages/Django-1.1.1-py2.5.egg/django/db/models/sql/query.py",
line 2369, in execute_sql
   cursor.execute(sql, params)

 File
"/usr/lib/python2.5/site-packages/Django-1.1.1-py2.5.egg/django/db/backends/sqlite3/base.py",
line 193, in execute
   return Database.Cursor.execute(self, query, params)

OperationalError: database is locked


<WSGIRequest
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'collapsediffs': 'True', 'rbsessionid': 'a09c96867f083371a0185bd517611e64'},
META:{'DOCUMENT_ROOT': '/home/scalatools/reviewboard/htdocs',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTP_ACCEPT':
'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
 'HTTP_ACCEPT_LANGUAGE': 'ro-RO,ro;q=0.8,en-US;q=0.6,en;q=0.4',
 'HTTP_CONNECTION': 'close',
 'HTTP_COOKIE': 'rbsessionid=a09c96867f083371a0185bd517611e64; collapsediffs=True',
 'HTTP_HOST': 'reviewboard.liftweb.net',
 'HTTP_IF_NONE_MATCH': 'marius:2010-03-23 16:33:20.089036:0:1258039150',
 'HTTP_REFERER': 'http://reviewboard.liftweb.net/dashboard/',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)
AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1036 Safari/532.5',
 'HTTP_X_FORWARDED_FOR': '188.24.32.7',
 'HTTP_X_REAL_IP': '188.24.32.7',
 'PATH_INFO': u'/r/300/',
 'PATH_TRANSLATED': '/home/scalatools/reviewboard/htdocs/r/300/',
 'QUERY_STRING': '',
 'REDIRECT_STATUS': '200',
 'REDIRECT_URI': '/reviewboard.fcgi/r/300/',
 'REMOTE_ADDR': '127.0.0.1',
 'REMOTE_PORT': '32973',
 'REQUEST_METHOD': 'GET',
 'REQUEST_URI': '/r/300/',
 'SCRIPT_FILENAME': '/home/scalatools/reviewboard/htdocs/reviewboard.fcgi',
 'SCRIPT_NAME': u'',
 'SERVER_ADDR': '127.0.0.1',
 'SERVER_NAME': 'reviewboard.liftweb.net',
 'SERVER_PORT': '8085',
 'SERVER_PROTOCOL': 'HTTP/1.0',
 'SERVER_SOFTWARE': 'lighttpd/1.4.19',
 'wsgi.errors': <flup.server.fcgi_base.OutputStream object at 0x19b7150>,
 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x1973a10>,
 'wsgi.multiprocess': False,
 'wsgi.multithread': True,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}>
chipx86
#3 chipx86
Could be some scalability issue with sqlite. If the database is locked, that's kind
of beyond our control (as this is in Django's or SQLite's territory now). You may
want to look into moving to MySQL or something.
david
#4 david
Agreed. SQLite works okay for very small sites but starts falling down when things get 
busier.
  • -NeedInfo
    +ThirdParty