Skip to content

502 errors on /info/ if a data stack is missing in the service table #35

@perlman

Description

@perlman

The info service errors when an entry in the info services does not yet exist in the service table. End user gets a 502 error.

To reproduce, add a new entry to the info service (name & service is enough) without adding the corresponding services to the service table.

10.48.1.1 - - [07/Jan/2026:15:07:55 +0000] "GET /info/ HTTP/1.1" 302 379 "http://<ip>:80/info" "kube-probe/1.33" "-"
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): <global>:443
DEBUG:urllib3.connectionpool:https://<global>:443 "GET /auth/api/v1/user/cache HTTP/1.1" 200 410
DEBUG:urllib3.connectionpool:https://<global>:443 "GET /auth/api/v1/service/datastack/table/fish2_v5/dataset HTTP/1.1" 404 44
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2213, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2193, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/local/lib/python3.9/site-packages/flask_restx/api.py", line 672, in error_router
    return original_handler(e)
  File "/usr/local/lib/python3.9/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.9/site-packages/flask_restx/api.py", line 672, in error_router
    return original_handler(e)
  File "/usr/local/lib/python3.9/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/usr/local/lib/python3.9/site-packages/middle_auth_client/decorators.py", line 376, in decorated_function
    return f(*args, **kwargs)
  File "/app/./annotationinfoservice/datasets/views.py", line 32, in index
    datastacks = [
  File "/app/./annotationinfoservice/datasets/views.py", line 35, in <listcomp>
    if user_has_permission("view", d.name, "datastack", ignore_tos=True)
  File "/usr/local/lib/python3.9/site-packages/middle_auth_client/decorators.py", line 231, in user_has_permission
    dataset = dataset_from_table_id(resource_namespace, table_id, token)
  File "/usr/local/lib/python3.9/site-packages/cachetools/__init__.py", line 702, in wrapper
    v = func(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middle_auth_client/decorators.py", line 204, in dataset_from_table_id
    raise RuntimeError(
RuntimeError: failed to lookup dataset for service datastack & table_id: fmy_datastack: status code 404. content: b'No dataset for given service and table names'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions