[Super Search] Internal Error when using date ranges with no intersection

RESOLVED FIXED

Status

Socorro
Webapp
RESOLVED FIXED
2 years ago
3 months ago

People

(Reporter: adrian, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
https://sentry.prod.mozaws.net/operations/socorro-prod/group/158856/



Stacktrace (most recent call last):

  File "django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "newrelic/hooks/framework_django.py", line 499, in wrapper
    return wrapped(*args, **kwargs)
  File "ratelimit/decorators.py", line 30, in _wrapped
    return fn(*args, **kw)
  File "crashstats/supersearch/views.py", line 218, in search_results
    search_results = api.get(**params)
  File "crashstats/supersearch/models.py", line 215, in get
    return super(SuperSearch, self).get(**kwargs)
  File "crashstats/crashstats/models.py", line 577, in get
    return self._get(expect_json=expect_json, **kwargs)
  File "crashstats/crashstats/models.py", line 646, in _get
    expect_json=expect_json,
  File "crashstats/crashstats/models.py", line 156, in inner
    result = method(*args, **kwargs)
  File "crashstats/crashstats/models.py", line 501, in fetch
    result = implementation_method(**params)
  File "socorro/external/es/supersearch.py", line 471, in get
    total = search.count()
  File "elasticsearch_dsl/search.py", line 526, in count
    body=d
  File "newrelic/hooks/datastore_elasticsearch.py", line 70, in _nr_wrapper_Elasticsearch_method_
    return wrapped(*args, **kwargs)
  File "elasticsearch/client/utils.py", line 68, in _wrapped
    return func(*args, params=params, **kwargs)
  File "elasticsearch/client/__init__.py", line 622, in count
    params=params, body=body)
  File "elasticsearch/transport.py", line 284, in perform_request
    status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
  File "elasticsearch/connection/http_requests.py", line 54, in perform_request
    self._raise_error(response.status_code, raw_data)
  File "elasticsearch/connection/base.py", line 97, in _raise_error
    raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)

The problem happens when using date parameters that do not intersect. For example: 

date < 2015-12-01 AND date > 2015-12-02

That should be quite valid, but the code fails to generate appropriate index names on which to run the query.
Component: Middleware → Webapp

Updated

3 months ago
Status: NEW → RESOLVED
Last Resolved: 3 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.