Closed Bug 1012657 Opened 11 years ago Closed 11 years ago

[traceback] TransportError on for product -> topic list

Categories

(support.mozilla.org :: Knowledge Base Software, task, P1)

Tracking

(Not tracked)

RESOLVED FIXED
2014Q2

People

(Reporter: willkg, Assigned: rrosario)

Details

(Whiteboard: u=dev c=wiki p=1 s=2014.10)

If elasticsearch-py raises a TransportError, it's not caught by our _documents_for() code, so our fallback-to-the-db code isn't working right. Sentry page: https://errormill.mozilla.org/support/support/group/168926/ Error and traceback TransportError: TransportError(500, u'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\n<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html;charset=utf-8">\n<title>Service Unavailable</title>\n<style type="text/css">\nbody, p, h1 {\n font-family: Verdana, Arial, Helvetica, sans-serif;\n}\nh2 {\n font-family: Arial, Helvetica, sans-serif;\n color: #b10b29;\n}\n</style>\n</head>\n<body>\n<h2>Service Unavailable</h2>\n<p>The service is temporarily unavailable. Please try again later.</p>\n</body>\n</html>\n') Stacktrace (most recent call last): File "django/core/handlers/base.py", line 112, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "newrelic/api/object_wrapper.py", line 237, in __call__ self._nr_instance, args, kwargs, **self._nr_kwargs) File "newrelic/hooks/framework_django.py", line 475, in wrapper return wrapped(*args, **kwargs) File "mobility/decorators.py", line 23, in wrapper return f(request, *args, **kw) File "kitsune/products/views.py", line 59, in document_listing documents, fallback_documents = documents_for(**doc_kw) File "kitsune/wiki/facets.py", line 72, in documents_for topics=topics) File "kitsune/wiki/facets.py", line 94, in _documents_for documents = _es_documents_for(locale, topics, products) File "kitsune/wiki/facets.py", line 124, in _es_documents_for return list(s.order_by('-document_recent_helpful_votes')[:100]) File "elasticutils/__init__.py", line 1580, in __iter__ return iter(self._do_search()) File "elasticutils/__init__.py", line 1396, in _do_search response = self.raw() File "elasticutils/__init__.py", line 1475, in raw **extra_search_kwargs) File "elasticsearch/client/utils.py", line 70, in _wrapped return func(*args, params=params, **kwargs) File "elasticsearch/client/__init__.py", line 388, in search params=params, body=body) File "elasticsearch/transport.py", line 274, in perform_request status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore) File "elasticsearch/connection/http_urllib3.py", line 55, in perform_request self._raise_error(response.status, raw_data) File "elasticsearch/connection/base.py", line 83, in _raise_error raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
Pretty sure this is an easy fix and we just have to catch TransportError at around line 99 in kitsune/wiki/facets.py.
Next sprint!
Priority: -- → P1
Whiteboard: u=dev c=wiki p=1 s=2014.10
Target Milestone: --- → 2014Q2
Assignee: nobody → rrosario
Deployed to prod.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.