What version are you running?
3.0.3
What's the URL of the page containing the problem?
http://localhost/admin/settings/search/?saved=1
What steps will reproduce the problem?
- Go to admin settings
- Go to search settings
- Switch "search backend" from "Whoosh" to "Elasticsearch"
- Press "Save"
What is the expected output? What do you see instead?
A nice error message or success but no error 500
What operating system are you using? What browser?
Linux, Firefox
Please provide any additional information below.
File "/var/www/dist/lib/python2.7/site-packages/django/core/handlers/base.py", line 112, in get_response
response = wrapped_callback(request, callback_args, callback_kwargs)
File "/var/www/dist/lib/python2.7/site-packages/reviewboard/admin/decorators.py", line 50, in decorated
return view(request, *args, kwargs)
File "/var/www/dist/lib/python2.7/site-packages/reviewboard/admin/views.py", line 137, in site_settings
'root_path': settings.SITE_ROOT + "admin/db/"
File "/var/www/dist/lib/python2.7/site-packages/django/utils/decorators.py", line 99, in _wrapped_view
response = view_func(request, args, kwargs)
File "/var/www/dist/lib/python2.7/site-packages/django/contrib/admin/views/decorators.py", line 17, in _checklogin
return view_func(request, *args, kwargs)
File "/var/www/dist/lib/python2.7/site-packages/djblets/siteconfig/views.py", line 51, in site_settings
if form.is_valid():
File "/var/www/dist/lib/python2.7/site-packages/django/forms/forms.py", line 129, in is_valid
return self.is_bound and not bool(self.errors)
File "/var/www/dist/lib/python2.7/site-packages/django/forms/forms.py", line 121, in errors
self.full_clean()
File "/var/www/dist/lib/python2.7/site-packages/django/forms/forms.py", line 274, in full_clean
self._clean_form()
File "/var/www/dist/lib/python2.7/site-packages/django/forms/forms.py", line 300, in _clean_form
self.cleaned_data = self.clean()
File "/var/www/dist/lib/python2.7/site-packages/reviewboard/admin/forms.py", line 1348, in clean
search_backend_id = self.cleaned_data['search_backend_id']
KeyError: u'search_backend_id'
Ok, "pip install elasticsearch==2.4.1" did the trick here. Should be a better error message instead of error 500. :-)
-
- Switch to elastic search: error 500 + Switch to elastic search: error 500