#2228 Pagure events traceback
Closed: Fixed 2 years ago by praiskup. Opened 2 years ago by praiskup.

[INFO coprs] Considering pkg package: ksurma/setuptools-control/argparse-manpage(id=801111), source_json: {'clone_url': 'https://src.fedoraproject.org/rpms/argparse-manpage.git', 'distgit': 'fedora', 'committish': 'rawhide'}
[INFO coprs]     -> accepted.
[ERROR fedora_messaging.twisted.consumer] Received unexpected exception from consumer Consumer(queue=a9b74258-21c6-4e79-ba65-9e858dc84a2b, callback=<pagure_events.build_on_fedmsg_loop object at 0x7fd097d67b80>)
Traceback (most recent call last):
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "ownername_copr_dir_uniq"
DETAIL:  Key (ownername, name)=(ksurma, setuptools-control:pr:1) already exists.


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

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/fedora_messaging/twisted/consumer.py", line 207, in _read_one
    yield threads.deferToThread(self.callback, message)
  File "/usr/lib/python3.10/site-packages/twisted/python/threadpool.py", line 238, in inContext
    result = inContext.theWork()  # type: ignore[attr-defined]
  File "/usr/lib/python3.10/site-packages/twisted/python/threadpool.py", line 254, in <lambda>
    inContext.theWork = lambda: context.call(  # type: ignore[attr-defined]
  File "/usr/lib/python3.10/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python3.10/site-packages/twisted/python/context.py", line 83, in callWithContext
    return func(*args, **kw)
  File "/usr/share/copr/coprs_frontend/pagure_events.py", line 260, in __call__
    copr_dir = CoprDirsLogic.get_or_create(pkg.copr, dirname,
  File "/usr/share/copr/coprs_frontend/coprs/logic/coprs_logic.py", line 622, in get_or_create
    ActionsLogic.send_createrepo(copr, dirnames=[dirname])
  File "/usr/share/copr/coprs_frontend/coprs/logic/actions_logic.py", line 97, in send_createrepo
    possible_dirnames = [copr_dir.name for copr_dir in copr.dirs]
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 481, in __get__
    return self.impl.get(state, dict_)
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 941, in get
    value = self._fire_loader_callables(state, key, passive)
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 977, in _fire_loader_callables
    return self.callable_(state, passive)
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/strategies.py", line 911, in _load_for_state
    return self._emit_lazyload(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/strategies.py", line 1047, in _emit_lazyload
    result = session.execute(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/session.py", line 1644, in execute
    ) = compile_state_cls.orm_pre_session_exec(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/context.py", line 319, in orm_pre_session_exec
    session._autoflush()
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/session.py", line 2241, in _autoflush
    util.raise_(e, with_traceback=sys.exc_info()[2])
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/session.py", line 2230, in _autoflush
    self.flush()
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/session.py", line 3367, in flush
    self._flush(objects)
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/session.py", line 3506, in _flush
    with util.safe_reraise():
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/session.py", line 3467, in _flush
    flush_context.execute()
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 456, in execute
    rec.execute(self)
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 630, in execute
    util.preloaded.orm_persistence.save_obj(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 245, in save_obj
    _emit_insert_statements(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 1238, in _emit_insert_statements
    result = connection._execute_20(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1631, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1498, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1862, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 2043, in _handle_dbapi_exception
    util.raise_(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/lib64/python3.10/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.IntegrityError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
(psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ownername_copr_dir_uniq"
DETAIL:  Key (ownername, name)=(ksurma, setuptools-control:pr:1) already exists.

[SQL: INSERT INTO copr_dir (name, main, ownername, copr_id) VALUES (%(name)s, %(main)s, %(ownername)s, %(copr_id)s) RETURNING copr_dir.id]
[parameters: {'name': 'setuptools-control:pr:1', 'main': False, 'ownername': 'ksurma', 'copr_id': 51562}]
(Background on this error at: https://sqlalche.me/e/14/gkpj)
[ERROR fedora_messaging.cli] Unexpected error occurred in consumer Consumer(queue=a9b74258-21c6-4e79-ba65-9e858dc84a2b, callback=<pagure_events.build_on_fedmsg_loop object at 0x7fd097d67b80>): <twisted.python.failure.Failure sqlalchemy.exc.IntegrityError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
(psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ownername_copr_dir_uniq"
DETAIL:  Key (ownername, name)=(ksurma, setuptools-control:pr:1) already exists.

[SQL: INSERT INTO copr_dir (name, main, ownername, copr_id) VALUES (%(name)s, %(main)s, %(ownername)s, %(copr_id)s) RETURNING copr_dir.id]

Metadata Update from @praiskup:
- Issue assigned to praiskup

2 years ago

Login to comment on this ticket.

Metadata
Related Pull Requests
  • #2229 Merged 2 years ago