Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internal error when searching states:nutrition-photo-selected #253

Open
raphael0202 opened this issue Oct 24, 2024 · 0 comments
Open

Internal error when searching states:nutrition-photo-selected #253

raphael0202 opened this issue Oct 24, 2024 · 0 comments

Comments

@raphael0202
Copy link
Contributor

What

When searching states:nutrition-photo-selected, an HTTP 500 is returned, due to this exception:

INFO:     172.23.0.8:54214 - "GET /autocomplete?q=states:nutrition-photo-selected%20AND%20states:nutrition&lang=fr&taxonomy_names=brands,categories&size=5 HTTP/1.0" 200 OK
2024-10-24 08:55:42,713 :: DEBUG :: Received search query: q='states:nutrition-photo-selected', langs='{'fr'}', page=1, page_size=24, fields='None', sort_by='None', charts='[DistributionChart(chart_type='DistributionChart', field='nutrition_grades'), DistributionChart(chart_type='DistributionChart', field='ecoscore_grade'), DistributionChart(chart_type='DistributionChart', field='nova_groups'), ScatterChart(chart_type='ScatterChart', x='nutriscore_score', y='nutriments.fiber_100g')]'
INFO:     172.23.0.8:54216 - "GET /search?boost_phrase=true&charts=nutrition_grades%2Cecoscore_grade%2Cnova_groups%2Cnutriscore_score%3Anutriments.fiber_100g&facets=brands%2Ccategories%2Cnutrition_grades%2Cecoscore_grade&langs=fr&page=1&page_size=24&q=states%3Anutrition-photo-selected HTTP/1.0" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 408, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in __call__
    await self.app(scope, receive, send)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
    raise exc
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
    await app(scope, receive, sender)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
    raise exc
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
    await app(scope, receive, sender)
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 214, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool
    return await anyio.to_thread.run_sync(func, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "/opt/pysetup/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 859, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/search/app/api.py", line 135, in search_get
    result = app_search.search(search_parameters)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/search/app/search.py", line 82, in search
    query = build_search_query(
            ^^^^^^^^^^^^^^^^^^^
  File "/opt/search/app/query.py", line 268, in build_search_query
    check_query(params, analysis)
  File "/opt/search/app/query.py", line 231, in check_query
    raise QueryCheckError("Found errors while checking query", errors=errors)
app.exceptions.QueryCheckError: Found errors while checking query: 
 - Invalid characters in term value: nutrition-photo-selected

The backend should not return HTTP 500 even if the user provides an invalid lucene query.

@raphael0202 raphael0202 added the 🐛 Bug Something isn't working label Oct 24, 2024
@github-project-automation github-project-automation bot moved this to Backlog (ready for dev) in 🔎 Search-a-licious Oct 24, 2024
@teolemon teolemon removed the 🐛 Bug Something isn't working label Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog (ready for dev)
Development

No branches or pull requests

2 participants