I also noticed that this doesn't come initially. Try creating about 3-4
Contents and it gets thrown.
I mentioned that this error comes with Postgres, but it also comes with
MySQL.
Any updates? It would save me a lot of trouble if this issue would be
resolved.
Offhand it looks like you have multiple content objects with the same
archetypes UID in plone, which seems strange. If you query the archtypes
UID from the database that's given in the traceback it would be interesting
to validate that what is serialized is indeed the news event path that's in
the traceback.
Looking at the content type in the traceback, it seems to be some sort of
peer content type, which might the issue, namely that its ATPeerFolder.. I
haven't see this before, but if it behaves as though it has the same
archetypes UID as another content object then that would explain the
constraint violation. Its not clear to me off hand what use such a peer
would have, but i can say that's its violating a basic tenent of
contentmirror and plone, namely that a content object's archetypes UID is
unique, and that's its not supported. If you wanted to you could setup a
serializer for this content type that either didn't insert anything into
the database or inserted something with a unique UID that's specific to the
peer instance (path hash would work).
doh.. sorry i totally missed that atfolderpeer is the contentmirror
generated peer. I'm still uncertain why there would be an integrity error
on UID unless there is a duplicate content UID in plone. It would be good
to have a sanity check that the uid that matches in the database has the
same path as the object being referenced here.
I've been playing with it a little more. Here is what I did, and the errors
I got:
1. Created new folder called "Test Folder"
2. Renamed test folder as "Dummy Folder" and got error message for
IntegrityCheck Error. Folder still remained as "Test Folder"
Inspecting it further, I saw that it was using this UID:
9e159e6ccec77133ddebfc2e3e9953fe
3. Tried creating an image content inside "Test Folder". Same IntegritCheck
Error was thrown with the same UID: 9e159e6ccec77133ddebfc2e3e9953fe
So the UID isn't being newly generated.
Comment #6 on issue 71 by kapilt: Plone throws IntegrityCheck Error when
Creating/Modifying Content
http://code.google.com/p/contentmirror/issues/detail?id=71
So it looks like the event subscriber was generating an add operation in
response to modified/workflow events instead of an update operation. Looks
like the regression was from mid-april 2010. I fixed this in Revision 228,
and added several tests to verify the operations generated for each event.
Comment #7 on issue 71 by kapilt: Plone throws IntegrityCheck Error when
Creating/Modifying Content
http://code.google.com/p/contentmirror/issues/detail?id=71
(No comment was entered for this change.)