| Traceback (most recent call last): | File "/usr/bin/swh", line 11, in | load_entry_point('swh.core==0.0.94', 'console_scripts', 'swh')() | File "/usr/lib/python3/dist-packages/swh/core/cli/__init__.py", line 111, in main | return swh(auto_envvar_prefix='SWH') | File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__ | return self.main(*args, **kwargs) | File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main | rv = self.invoke(ctx) | File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke | return _process_result(sub_ctx.command.invoke(sub_ctx)) | File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke | return _process_result(sub_ctx.command.invoke(sub_ctx)) | File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke | return ctx.invoke(self.callback, **ctx.params) | File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke | return callback(*args, **kwargs) | File "/usr/lib/python3/dist-packages/click/decorators.py", line 17, in new_func | return f(get_current_context(), *args, **kwargs) | File "/usr/lib/python3/dist-packages/swh/journal/cli.py", line 108, in replay | nb_messages += client.process(worker_fn) | File "/usr/lib/python3/dist-packages/swh/journal/client.py", line 209, in process | nb_processed, at_eof = self.handle_messages(messages, worker_fn) | File "/usr/lib/python3/dist-packages/swh/journal/client.py", line 240, in handle_messages | worker_fn(dict(objects)) | File "/usr/lib/python3/dist-packages/swh/journal/replay.py", line 41, in process_replay_objects | _insert_objects(object_type, objects, storage) | File "/usr/lib/python3/dist-packages/swh/journal/replay.py", line 255, in _insert_objects | method(objects) | File "/usr/lib/python3/dist-packages/swh/storage/validate.py", line 72, in revision_add | return self.storage.revision_add(revisions) | File "/usr/lib/python3/dist-packages/swh/storage/filter.py", line 77, in revision_add | r for r in revisions if r.id in missing_ids | File "/usr/lib/python3/dist-packages/swh/core/api/__init__.py", line 154, in meth_ | return self.post(meth._endpoint_path, post_data) | File "/usr/lib/python3/dist-packages/swh/core/api/__init__.py", line 242, in post | return self._decode_response(response) | File "/usr/lib/python3/dist-packages/swh/core/api/__init__.py", line 315, in _decode_response | self.raise_for_status(response) | File "/usr/lib/python3/dist-packages/swh/storage/api/client.py", line 30, in raise_for_status | super().raise_for_status(response) | File "/usr/lib/python3/dist-packages/swh/core/api/__init__.py", line 306, in raise_for_status | raise exception from None | swh.storage.exc.StorageArgumentException: duplicate key value violates unique constraint "person_fullname_idx" | DETAIL: Key (fullname)=(\x6c6174616275203c6b6f616b756d6170696e67403136332e636f6d3e) already exists. | CONTEXT: SQL statement "with t as ( | select author_fullname as fullname, author_name as name, author_email as email from tmp_revision | union | select committer_fullname as fullname, committer_name as name, committer_email as email from tmp_revision | ) insert into person (fullname, name, email) | select distinct on (fullname) fullname, name, email from t | where not exists ( | select 1 | from person p | where t.fullname = p.fullname | )" | PL/pgSQL function swh_person_add_from_revision() line 3 at SQL statement | SQL statement "SELECT swh_person_add_from_revision()" | PL/pgSQL function swh_revision_add() line 3 at PERFORM