While importing rel-eng issue to pagure the following stack was thrown
remote: To load: 11483f88b72c4063aa4e06ced54d7292 remote: Traceback (most recent call last): remote: File "./hooks/post-receive.pagure-ticket", line 105, in <module> remote: main(sys.argv[1:]) remote: File "./hooks/post-receive.pagure-ticket", line 101, in main remote: run_as_post_receive_hook() remote: File "./hooks/post-receive.pagure-ticket", line 97, in run_as_post_receive_hook remote: json_data=json_data) remote: File "/usr/lib/python2.7/site-packages/pagure/lib/git.py", line 436, in update_ticket_from_git remote: user = get_user_from_json(session, json_data) remote: File "/usr/lib/python2.7/site-packages/pagure/lib/git.py", line 348, in get_user_from_json remote: keydir=pagure.APP.config.get('GITOLITE_KEYDIR', None), remote: File "/usr/lib/python2.7/site-packages/pagure/lib/init.py", line 2267, in set_up_user remote: session.flush() remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/scoping.py", line 150, in do remote: return getattr(self.registry(), name)(args, *kwargs) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 1919, in flush remote: self._flush(objects) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 2037, in _flush remote: transaction.rollback(_capture_exception=True) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 60, in exit remote: compat.reraise(exc_type, exc_value, exc_tb) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 2001, in _flush remote: flush_context.execute() remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 372, in execute remote: rec.execute(self) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 526, in execute remote: uow remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 65, in save_obj remote: mapper, table, insert) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 602, in _emit_insert_statements remote: execute(statement, params) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 729, in execute remote: return meth(self, multiparams, params) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/sql/elements.py", line 322, in _execute_on_connection remote: return connection._execute_clauseelement(self, multiparams, params) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement remote: compiled_sql, distilled_params remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 958, in _execute_context remote: context) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1159, in _handle_dbapi_exception remote: exc_info remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause remote: reraise(type(exception), exception, tb=exc_tb) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context remote: context) remote: File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute remote: cursor.execute(statement, parameters) remote: sqlalchemy.exc.DataError: (DataError) value too long for type character varying(32) remote: 'INSERT INTO users ("user", fullname, public_ssh_key, default_email, _settings, password, token, created, updated_on) VALUES (%(user)s, %(fullname)s, %(public_ssh_key)s, %(default_email)s, %(_settings)s, %(password)s, %(token)s, now(), now()) RETURNING users.id' {'public_ssh_key': None, 'password': None, '_settings': None, 'token': None, 'user': u'Andreas Bierfert andreas.bierfert@lowlatency.de', 'fullname': u'Andreas Bierfert andreas.bierfert@lowlatency.de', 'default_email': u'Andreas Bierfert andreas.bierfert@lowlatency.de@fedoraproject.org'} remote: Hook ./hooks/post-receive.pagure-ticket failed with error code 1
This is likely the user field (note that the default_email seems to be wrong as well, or rather, unexpected)
the unusual email address is built here https://pagure.io/pagure-importer/blob/master/f/pagure_importer/utils/importer_trac.py#_156
So, this looks like several tickets... which where filed long ago by email2trac. Yes, we used to allow email to open trac tickets. ;(
https://fedorahosted.org/rel-eng/ticket/151 https://fedorahosted.org/rel-eng/ticket/152 https://fedorahosted.org/rel-eng/ticket/163 https://fedorahosted.org/rel-eng/ticket/165 https://fedorahosted.org/rel-eng/ticket/242
There may be others. Likely so.
So, instead of reporter being an account name, it's a full email address. ;(
I am really not sure what we can do here. We could look for @ in the reporter name and just change it to 'nobody' ? Or we could try and parse it out and look up that user? Nothing good leaps to mind.
Login to comment on this ticket.