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

Sorting Last-Login in admin user-table does not work. #18603

Closed
bgruening opened this issue Jul 26, 2024 · 2 comments
Closed

Sorting Last-Login in admin user-table does not work. #18603

bgruening opened this issue Jul 26, 2024 · 2 comments
Assignees
Labels
area/backend area/database Galaxy's database or data access layer kind/bug

Comments

@bgruening
Copy link
Member

Sorting the user-table by Last Login in the Admin Panel will cause this stacktrace:

Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]: galaxy.web.framework.middleware.error ERROR 2024-07-26 14:23:49,658 [pN:main.4,p:3193402,tN:WSGI_0] Uncaught Exception
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]: Traceback (most recent call last):
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/server/lib/galaxy/web/framework/middleware/error.py", line 167, in __call__
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     app_iter = self.application(environ, sr_checker)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/server/lib/galaxy/web/framework/middleware/statsd.py", line 29, in __call__
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     req = self.application(environ, start_response)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/venv/lib/python3.11/site-packages/paste/httpexceptions.py", line 635, in __call__
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     return self.application(environ, start_response)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/server/lib/galaxy/web/framework/base.py", line 174, in __call__
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     return self.handle_request(request_id, path_info, environ, start_response)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/server/lib/galaxy/web/framework/base.py", line 263, in handle_request
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     body = method(trans, **kwargs)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:            ^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/server/lib/galaxy/web/framework/decorators.py", line 74, in call_and_format
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     rval = func(self, trans, *args, **kwargs)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/server/lib/galaxy/web/framework/decorators.py", line 123, in decorator
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     return func(self, trans, *args, **kwargs)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/server/lib/galaxy/webapps/galaxy/controllers/admin.py", line 412, in users_list
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     return self.user_list_grid(trans, **kwd)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/server/lib/galaxy/web/framework/helpers/grids.py", line 92, in __call__
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     query = column.sort(trans, query, not sort_desc, column_name=sort_by)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/server/lib/galaxy/webapps/galaxy/controllers/admin.py", line 76, in sort
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     query = query.outerjoin((last_login_subquery, model.User.table.c.id == last_login_subquery.c.user_id))
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2467, in outerjoin
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     return self.join(target, onclause=onclause, isouter=True, full=full)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "<string>", line 2, in join
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/venv/lib/python3.11/site-packages/sqlalchemy/sql/base.py", line 279, in _generative
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     x = fn(self, *args, **kw)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:         ^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "<string>", line 2, in join
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/venv/lib/python3.11/site-packages/sqlalchemy/orm/base.py", line 304, in generate
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     fn(self, *args, **kw)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2422, in join
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     join_target = coercions.expect(
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:                   ^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/venv/lib/python3.11/site-packages/sqlalchemy/sql/coercions.py", line 396, in expect
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     resolved = impl._literal_coercion(
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:                ^^^^^^^^^^^^^^^^^^^^^^^
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/venv/lib/python3.11/site-packages/sqlalchemy/sql/coercions.py", line 1219, in _literal_coercion
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     self._raise_for_expected(element, argname)
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:   File "/opt/galaxy/venv/lib/python3.11/site-packages/sqlalchemy/sql/coercions.py", line 518, in _raise_for_expected
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]:     raise exc.ArgumentError(msg, code=code) from err
Jul 26 14:23:49 sn06.galaxyproject.eu gunicorn[3049947]: sqlalchemy.exc.ArgumentError: Join target, typically a FROM expression, or ORM relationship attribute expected, got (<sqlalchemy.sql.selectable.Subquery at 0x7f9657417250; anon_1>, <sqlalchemy.sql.elements.BinaryExpression object at 0x7f96842dc5d0>).

Sentry: https://sentry.galaxyproject.org/organizations/galaxy/issues/158175/events/d564daa6e94742298cb9d1e7da7f9b2c/

@mvdbeek mvdbeek added kind/bug area/database Galaxy's database or data access layer area/backend labels Jul 29, 2024
@martenson
Copy link
Member

@ahmedhamidawan xref: #17229

@jdavcs jdavcs self-assigned this Aug 13, 2024
@ahmedhamidawan ahmedhamidawan removed their assignment Aug 13, 2024
@jdavcs
Copy link
Member

jdavcs commented Aug 13, 2024

Fixed in #18694

@jdavcs jdavcs closed this as completed Aug 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/backend area/database Galaxy's database or data access layer kind/bug
Projects
None yet
Development

No branches or pull requests

5 participants