hdocset/rdoc property setters are not atomic (RevisionConflict)
The RevisionConflicts in this stack trace are due to the property gets and sets not being done atomically.
File "/Applications/Bitmask.app/Contents/MacOS/lib/threading.py", line 781, in __bootstrap self.__bootstrap_inner() File "/Applications/Bitmask.app/Contents/MacOS/lib/threading.py", line 808, in __bootstrap_inner self.run() File "/Applications/Bitmask.app/Contents/MacOS/lib/threading.py", line 761, in run self.__target(*self.__args, **self.__kwargs) --- --- File "/Applications/Bitmask.app/Contents/MacOS/lib/twisted/python/threadpool.py", line 191, in _worker result = context.call(ctx, function, *args, **kwargs) File "/Applications/Bitmask.app/Contents/MacOS/lib/twisted/python/context.py", line 118, in callWithContext return self.currentContext().callWithContext(ctx, func, *args, **kw) File "/Applications/Bitmask.app/Contents/MacOS/lib/twisted/python/context.py", line 81, in callWithContext return func(*args,**kw) File "/Applications/Bitmask.app/Contents/MacOS/lib/leap/mail/imap/mailbox.py", line 780, in copy self.messages.add_hdocset_docid(hdoc.doc_id) File "/Applications/Bitmask.app/Contents/MacOS/lib/leap/mail/imap/messages.py", line 1440, in add_hdocset_docid self._hdocset = hdocset.union(set([docid])) File "/Applications/Bitmask.app/Contents/MacOS/lib/leap/mail/imap/messages.py", line 1398, in _set_hdocset self._soledad.put_doc(hdocset_doc) File "/Applications/Bitmask.app/Contents/MacOS/lib/leap/soledad/client/__init__.py", line 795, in put_doc return self._db.put_doc(doc) File "/Applications/Bitmask.app/Contents/MacOS/lib/u1db/backends/sqlite_backend.py", line 371, in put_doc raise errors.RevisionConflict() u1db.errors.RevisionConflict: Traceback (most recent call last):
(from redmine: created on 2014-01-20, closed on 2014-01-21)