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

Celery : Handle Task Error (issue in dev) #2894

Open
sgoggins opened this issue Aug 14, 2024 · 0 comments
Open

Celery : Handle Task Error (issue in dev) #2894

sgoggins opened this issue Aug 14, 2024 · 0 comments
Assignees
Labels
bug Documents unexpected/wrong/buggy behavior server Related to the Augur server

Comments

@sgoggins
Copy link
Member

sgoggins commented Aug 14, 2024

It looks as though an array of integers are being passed for comparison to a repo_git parameter in a query, and that's a string:

 File "/home/ubuntu/github/augur/augur/tasks/init/celery_app.py", line 105, in on_failure
    self.augur_handle_task_failure(exc, task_id, repo_git, "core_task_failure")
  File "/home/ubuntu/github/augur/augur/tasks/init/celery_app.py", line 88, in augur_handle_task_failure
    repo = session.query(Repo).filter(Repo.repo_git == repo_git).one()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2798, in one
    return self._iter().one()  # type: ignore

The full stack trace is:

Traceback (most recent call last):
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 451, in trace_task
    R = retval = fun(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 734, in __protected_call__
    return self.run(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/augur/augur/tasks/gitlab/issues_task.py", line 224, in collect_gitlab_issue_comments
    process_gitlab_issue_messages(comments, f"{owner}/{repo}: Gitlab issue messages task", repo_id, logger, session)
  File "/home/ubuntu/github/augur/augur/tasks/gitlab/issues_task.py", line 287, in process_gitlab_issue_messages
    issues = session.session.query(Issue).filter(Issue.repo_id == repo_id).all()
             ^^^^^^^^^^^^^^^
AttributeError: 'Session' object has no attribute 'session'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
    self.dialect.do_execute(
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.UndefinedFunction: operator does not exist: character varying = integer[]
LINE 3: WHERE augur_data.repo.repo_git = ARRAY[59,58,57,56,55,54,53,...
                                       ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 468, in trace_task
    I, R, state, retval = on_error(task_request, exc, uuid)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 379, in on_error
    R = I.handle_error_state(
        ^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 178, in handle_error_state
    return {
           ^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 231, in handle_failure
    task.on_failure(exc, req.id, req.args, req.kwargs, einfo)
  File "/home/ubuntu/github/augur/augur/tasks/init/celery_app.py", line 105, in on_failure
    self.augur_handle_task_failure(exc, task_id, repo_git, "core_task_failure")
  File "/home/ubuntu/github/augur/augur/tasks/init/celery_app.py", line 88, in augur_handle_task_failure
    repo = session.query(Repo).filter(Repo.repo_git == repo_git).one()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2798, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2847, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2306, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2188, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
    return meth(
           ^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1639, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1848, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1988, in _exec_single_context
    self._handle_dbapi_exception(
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2343, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
    self.dialect.do_execute(
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedFunction) operator does not exist: character varying = integer[]
LINE 3: WHERE augur_data.repo.repo_git = ARRAY[59,58,57,56,55,54,53,...
                                       ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

[SQL: SELECT augur_data.repo.repo_id AS augur_data_repo_repo_id, augur_data.repo.repo_group_id AS augur_data_repo_repo_group_id, augur_data.repo.repo_git AS augur_data_repo_repo_git, augur_data.repo.repo_path AS augur_data_repo_repo_path, augur_data.repo.repo_name AS augur_data_repo_repo_name, augur_data.repo.repo_added AS augur_data_repo_repo_added, augur_data.repo.repo_type AS augur_data_repo_repo_type, augur_data.repo.url AS augur_data_repo_url, augur_data.repo.owner_id AS augur_data_repo_owner_id, augur_data.repo.description AS augur_data_repo_description, augur_data.repo.primary_language AS augur_data_repo_primary_language, augur_data.repo.created_at AS augur_data_repo_created_at, augur_data.repo.forked_from AS augur_data_repo_forked_from, augur_data.repo.updated_at AS augur_data_repo_updated_at, augur_data.repo.repo_archived_date_collected AS augur_data_repo_repo_archived_date_collected, augur_data.repo.repo_archived AS augur_data_repo_repo_archived, augur_data.repo.tool_source AS augur_data_repo_tool_source, augur_data.repo.tool_version AS augur_data_repo_tool_version, augur_data.repo.data_source AS augur_data_repo_data_source, augur_data.repo.data_collection_date AS augur_data_repo_data_collection_date 
FROM augur_data.repo 
WHERE augur_data.repo.repo_git = %(repo_git_1)s]
[parameters: {'repo_git_1': [59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]}]
(Background on this error at: https://sqlalche.me/e/20/f405)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
    self.dialect.do_execute(
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.UndefinedFunction: operator does not exist: character varying = integer[]
LINE 3: WHERE augur_data.repo.repo_git = ARRAY[59,58,57,56,55,54,53,...
                                       ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/billiard/pool.py", line 362, in workloop
    result = (True, prepare_result(fun(*args, **kwargs)))
                                   ^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 649, in fast_trace_task
    R, I, T, Rstr = tasks[task].__trace__(
                    ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 572, in trace_task
    I, _, _, _ = on_error(task_request, exc, uuid)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 379, in on_error
    R = I.handle_error_state(
        ^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 178, in handle_error_state
    return {
           ^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/celery/app/trace.py", line 231, in handle_failure
    task.on_failure(exc, req.id, req.args, req.kwargs, einfo)
  File "/home/ubuntu/github/augur/augur/tasks/init/celery_app.py", line 105, in on_failure
    self.augur_handle_task_failure(exc, task_id, repo_git, "core_task_failure")
  File "/home/ubuntu/github/augur/augur/tasks/init/celery_app.py", line 88, in augur_handle_task_failure
    repo = session.query(Repo).filter(Repo.repo_git == repo_git).one()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2798, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2847, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2306, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2188, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
    return meth(
           ^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1639, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1848, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1988, in _exec_single_context
    self._handle_dbapi_exception(
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2343, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
    self.dialect.do_execute(
  File "/home/ubuntu/github/virtualenvs/hosted/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedFunction) operator does not exist: character varying = integer[]
LINE 3: WHERE augur_data.repo.repo_git = ARRAY[59,58,57,56,55,54,53,...
                                       ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

[SQL: SELECT augur_data.repo.repo_id AS augur_data_repo_repo_id, augur_data.repo.repo_group_id AS augur_data_repo_repo_group_id, augur_data.repo.repo_git AS augur_data_repo_repo_git, augur_data.repo.repo_path AS augur_data_repo_repo_path, augur_data.repo.repo_name AS augur_data_repo_repo_name, augur_data.repo.repo_added AS augur_data_repo_repo_added, augur_data.repo.repo_type AS augur_data_repo_repo_type, augur_data.repo.url AS augur_data_repo_url, augur_data.repo.owner_id AS augur_data_repo_owner_id, augur_data.repo.description AS augur_data_repo_description, augur_data.repo.primary_language AS augur_data_repo_primary_language, augur_data.repo.created_at AS augur_data_repo_created_at, augur_data.repo.forked_from AS augur_data_repo_forked_from, augur_data.repo.updated_at AS augur_data_repo_updated_at, augur_data.repo.repo_archived_date_collected AS augur_data_repo_repo_archived_date_collected, augur_data.repo.repo_archived AS augur_data_repo_repo_archived, augur_data.repo.tool_source AS augur_data_repo_tool_source, augur_data.repo.tool_version AS augur_data_repo_tool_version, augur_data.repo.data_source AS augur_data_repo_data_source, augur_data.repo.data_collection_date AS augur_data_repo_data_collection_date 
FROM augur_data.repo 
WHERE augur_data.repo.repo_git = %(repo_git_1)s]
[parameters: {'repo_git_1': [59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]}]
(Background on this error at: https://sqlalche.me/e/20/f405)
@sgoggins sgoggins converted this from a draft issue Aug 14, 2024
@sgoggins sgoggins added bug Documents unexpected/wrong/buggy behavior server Related to the Augur server labels Aug 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Documents unexpected/wrong/buggy behavior server Related to the Augur server
Projects
Status: Backlog
Development

No branches or pull requests

3 participants