coverified / backend

Backend for the CoVerified Widget
BSD 3-Clause "New" or "Revised" License
1 stars 1 forks source link

SQL Error #18

Closed schliflo closed 3 years ago

schliflo commented 3 years ago
api_1           | [] [RssCrawler] [INFO] [crawl_and_persist_data] Collecting data from rss feeds...
api_1           | [] [RssCrawler] [INFO] [crawl_and_persist_data] Collected 72 elements.
api_1           | [] [RssCrawler] [INFO] [crawl_and_persist_data] Persisting collected data to database...
api_1           | [] [app] [ERROR] [log_exception] Exception on /api/v1/crawler/run/*** [POST]
api_1           | Traceback (most recent call last):
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
api_1           |     cursor, statement, parameters, context
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 588, in do_execute
api_1           |     cursor.execute(statement, parameters)
api_1           | psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "feed_data_pkey"
api_1           | DETAIL:  Key (tid)=(5) already exists.
api_1           |
api_1           |
api_1           | The above exception was the direct cause of the following exception:
api_1           |
api_1           | Traceback (most recent call last):
api_1           |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
api_1           |     response = self.full_dispatch_request()
api_1           |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
api_1           |     rv = self.handle_user_exception(e)
api_1           |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception
api_1           |     reraise(exc_type, exc_value, tb)
api_1           |   File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
api_1           |     raise value
api_1           |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
api_1           |     rv = self.dispatch_request()
api_1           |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
api_1           |     return self.view_functions[rule.endpoint](**req.view_args)
api_1           |   File "/app/src/views/CrawlerView.py", line 19, in execute_crawler
api_1           |     crawl_and_persist_data()
api_1           |   File "/app/src/crawler/RssCrawler.py", line 39, in crawl_and_persist_data
api_1           |     build_feed_data_and_persist(feed_entry)
api_1           |   File "/app/src/crawler/RssCrawler.py", line 57, in build_feed_data_and_persist
api_1           |     feed_data.persist_uniques()
api_1           |   File "/app/src/models/FeedDataModel.py", line 48, in persist_uniques
api_1           |     self.save()
api_1           |   File "/app/src/models/FeedDataModel.py", line 39, in save
api_1           |     db.session.commit()
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/scoping.py", line 162, in do
api_1           |     return getattr(self.registry(), name)(*args, **kwargs)
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1036, in commit
api_1           |     self.transaction.commit()
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 503, in commit
api_1           |     self._prepare_impl()
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 482, in _prepare_impl
api_1           |     self.session.flush()
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2496, in flush
api_1           |     self._flush(objects)
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2637, in _flush
api_1           |     transaction.rollback(_capture_exception=True)
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 69, in __exit__
api_1           |     exc_value, with_traceback=exc_tb,
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
api_1           |     raise exception
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2597, in _flush
api_1           |     flush_context.execute()
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute
api_1           |     rec.execute(self)
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 589, in execute
api_1           |     uow,
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 245, in save_obj
api_1           |     insert,
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 1136, in _emit_insert_statements
api_1           |     statement, params
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 984, in execute
api_1           |     return meth(self, multiparams, params)
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 293, in _execute_on_connection
api_1           |     return connection._execute_clauseelement(self, multiparams, params)
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1103, in _execute_clauseelement
api_1           |     distilled_params,
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1288, in _execute_context
api_1           |     e, statement, parameters, cursor, context
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1482, in _handle_dbapi_exception
api_1           |     sqlalchemy_exception, with_traceback=exc_info[2], from_=e
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
api_1           |     raise exception
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
api_1           |     cursor, statement, parameters, context
api_1           |   File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 588, in do_execute
api_1           |     cursor.execute(statement, parameters)
api_1           | sqlalchemy.exc.IntegrityError: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "feed_data_pkey"
api_1           | DETAIL:  Key (tid)=(5) already exists.
api_1           |
api_1           | [SQL: INSERT INTO feed_data (timestamp, title, content, url) VALUES (%(timestamp)s, %(title)s, %(content)s, %(url)s) RETURNING feed_data.tid]
api_1           | [parameters: {'timestamp': 'Thu, 11 Mar 2021 11:25:00 GMT', 'title': 'Videokonferenz der Bundeskanzlerin mit Wirtschaftsverbänden und Gewerkschaften zu den wirtschaftlichen Folgen der Corona-Pandemie am 11. März 2020', 'content': 'Der Sprecher der Bundesregierung, Steffen Seibert, teilt mit:', 'url': 'https://www.bundesregierung.de/breg-de/aktuelles/videokonferenz-der-bundeskanzlerin-mit-wirtschaftsverbaenden-und-gewerkschaften-zu-den-wirtschaftlichen-folgen-der-corona-pandemie-am-11-maerz-2020-1875536'}]
api_1           | (Background on this error at: http://sqlalche.me/e/gkpj)