4668: Switch to elastic search: error 500

Misery
brennie
brennie

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?

  1. Go to admin settings
  2. Go to search settings
  3. Switch "search backend" from "Whoosh" to "Elasticsearch"
  4. 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'

Misery
#1 Misery

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
chipx86
#2 chipx86

Agreed. Fix coming today.

chipx86
#3 chipx86
  • -New
    +Confirmed
  • +Release-3.0.x
  • +Component:Admin
    +Component:Search
  • +chipx86
brennie
#4 brennie
  • -Confirmed
    +PendingReview
  • -chipx86
    +brennie
david
#5 david

Fixed in to release-3.0.x (ce0c109). This will ship in 3.0.5. Thanks!

  • -PendingReview
    +Fixed