Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 3370 by [email protected]: condense diffs function runs out
of memory on larger installs
http://code.google.com/p/reviewboard/issues/detail?id=3370
What version are you running?
2.0
What's the URL of the page containing the problem?
N/A
What steps will reproduce the problem?
1. Running "rb-site manage /var/www/codereview condensediffs"
What is the expected output? What do you see instead?
The operation fails with a MemoryError:
rb-site manage /var/www/codereview condensediffs
Processing 152829 diffs for duplicates...
This may take a while. It is safe to continue using Review Board while this
is
processing, but it may temporarily run slower.
Traceback (most recent call last):
File "/usr/local/bin/rb-site", line 9, in <module>
load_entry_point('ReviewBoard==2.0', 'console_scripts', 'rb-site')()
File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0-py2.7.egg/reviewboard/cmdline/rbsite.py",
line 1733, in main
command.run()
File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0-py2.7.egg/reviewboard/cmdline/rbsite.py",
line 1662, in run
site.run_manage_command(args[0], args[1:])
File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0-py2.7.egg/reviewboard/cmdline/rbsite.py",
line 626, in run_manage_command
execute_from_command_line([__file__, cmd] + params)
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/core/management/__init__.py",
line 399, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/core/management/__init__.py",
line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/core/management/base.py",
line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/core/management/base.py",
line 285, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/core/management/base.py",
line 415, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0-py2.7.egg/reviewboard/diffviewer/management/commands/condensediffs.py",
line 29, in handle_noargs
info = FileDiff.objects.migrate_all()
File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0-py2.7.egg/reviewboard/diffviewer/managers.py",
line 44, in migrate_all
for filediff in filediffs.iterator():
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/db/models/query.py",
line 220, in iterator
for row in compiler.results_iter():
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/db/models/sql/compiler.py",
line 713, in results_iter
for rows in self.execute_sql(MULTI):
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/db/models/sql/compiler.py",
line 786, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/db/backends/util.py",
line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.5-py2.7.egg/django/db/backends/mysql/base.py",
line 124, in execute
return self.cursor.execute(query, args)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36,
in defaulterrorhandler
raise errorclass, errorvalue
MemoryError
What operating system are you using? What browser?
Ubuntu 12.04 TLS running RB 2.0 on MySql 5.5 backend
Please provide any additional information below.
I upgraded from RB 1.7.25 to 2.0 and got given the advise to run the above
command.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
You received this message because you are subscribed to the Google Groups
"reviewboard-issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/reviewboard-issues.
For more options, visit https://groups.google.com/d/optout.