etesync-dav icon indicating copy to clipboard operation
etesync-dav copied to clipboard

sqlite3.IntegrityError: UNIQUE constraint failed: itementity.collection_id, itementity.uid

Open stuart12 opened this issue 2 years ago • 4 comments

hello, I am trying to debug #206 and am being distracted by UNIQUE constraint failed error messages. On Linux, with the latest version of etesync-dav, I am using a single instance of thunderbird to modify, import and delete calendar entries.

[2021-12-18 15:52:05 +1100] [49709/Thread-6] [ERROR] An exception occurred during PUT request on '/stuart/J_NqYOvKuOu323/[email protected]': UNIQUE constraint failed: itementity.collection_id, itementity.uid
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())
sqlite3.IntegrityError: UNIQUE constraint failed: itementity.collection_id, itementity.uid
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/radicale/app/__init__.py", line 105, in __call__
    status, headers, answers = self._handle_request(environ)
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/radicale/app/__init__.py", line 276, in _handle_request
    status, headers, answer = function(
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/radicale/app/put.py", line 210, in do_PUT
    etag = parent_item.upload(href, prepared_item).etag
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/etesync_dav/radicale/storage_etebase_collection.py", line 283, in upload
    etesync_item.save()
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/etesync_dav/local_cache/__init__.py", line 362, in save
    self.cache_item.save()
  File "/usr/lib/python3/dist-packages/peewee.py", line 6556, in save
    pk = self.insert(**field_dict).execute()
  File "/usr/lib/python3/dist-packages/peewee.py", line 1907, in inner
    return method(self, database, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/peewee.py", line 1978, in execute
    return self._execute(database)
  File "/usr/lib/python3/dist-packages/peewee.py", line 2745, in _execute
    return super(Insert, self)._execute(database)
  File "/usr/lib/python3/dist-packages/peewee.py", line 2474, in _execute
    cursor = database.execute(self)
  File "/usr/lib/python3/dist-packages/peewee.py", line 3157, in execute
    return self.execute_sql(sql, params, commit=commit)
  File "/usr/lib/python3/dist-packages/peewee.py", line 3151, in execute_sql
    self.commit()
  File "/usr/lib/python3/dist-packages/peewee.py", line 2917, in __exit__
    reraise(new_type, new_type(exc_value, *exc_args), traceback)
  File "/usr/lib/python3/dist-packages/peewee.py", line 190, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())

stuart12 avatar Dec 18 '21 05:12 stuart12

This error appears to be linked to Thunderbird loosing an update to a calendar entry

[2021-12-18 16:40:07 +1100] [51461/Thread-19] [ERROR] An exception occurred during PUT request on '/stuart/J_NqYOvKup7OiE7Dn211208T45822-iCalUidGenForSVT@vtlh05.sabre.com.ics': UNIQUE constraint failed: itementity.collection_id, itementity.uid
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())
sqlite3.IntegrityError: UNIQUE constraint failed: itementity.collection_id, itementity.uid
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/radicale/app/__init__.py", line 105, in __call__
    status, headers, answers = self._handle_request(environ)
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/radicale/app/__init__.py", line 276, in _handle_request
    status, headers, answer = function(
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/radicale/app/put.py", line 210, in do_PUT
    etag = parent_item.upload(href, prepared_item).etag
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/etesync_dav/radicale/storage_etebase_collection.py", line 283, in upload
    etesync_item.save()
  File "/tmp/etesync-dav@stuart/.local/lib/python3.9/site-packages/etesync_dav/local_cache/__init__.py", line 362, in save
    self.cache_item.save()
  File "/usr/lib/python3/dist-packages/peewee.py", line 6556, in save
    pk = self.insert(**field_dict).execute()
  File "/usr/lib/python3/dist-packages/peewee.py", line 1907, in inner
    return method(self, database, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/peewee.py", line 1978, in execute
    return self._execute(database)
  File "/usr/lib/python3/dist-packages/peewee.py", line 2745, in _execute
    return super(Insert, self)._execute(database)
  File "/usr/lib/python3/dist-packages/peewee.py", line 2474, in _execute
    cursor = database.execute(self)
  File "/usr/lib/python3/dist-packages/peewee.py", line 3157, in execute
    return self.execute_sql(sql, params, commit=commit)
  File "/usr/lib/python3/dist-packages/peewee.py", line 3151, in execute_sql
    self.commit()
  File "/usr/lib/python3/dist-packages/peewee.py", line 2917, in __exit__
    reraise(new_type, new_type(exc_value, *exc_args), traceback)
  File "/usr/lib/python3/dist-packages/peewee.py", line 190, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())
peewee.IntegrityError: UNIQUE constraint failed: itementity.collection_id, itementity.uid

stuart12 avatar Dec 18 '21 05:12 stuart12

this error also means to be linked to the high CPU usage reported in #240

stuart12 avatar Dec 18 '21 06:12 stuart12

Using Radicale-3.0.6 appdirs-1.4.4 etebase-0.31.2 etesync-0.12.1 etesync-dav-0.30.8

stuart12 avatar Dec 18 '21 06:12 stuart12

I see this one as well.

arichiardi avatar Jul 24 '23 21:07 arichiardi