angela created OAK-270: -------------------------- Summary: Enforce uniqueness of jcr:uuid Key: OAK-270 URL: https://issues.apache.org/jira/browse/OAK-270 Project: Jackrabbit Oak Issue Type: Task Components: core, jcr Reporter: angela
we had a quick discussion yesterday regarding enforcing uniqueness of jcr:uuid and how we are want/can assert that. in contrast to what was said yesterday in the meeting the jcr:uuid cannot be expected to be always a system generated random uuid. That's only true for those cases where a referenceable node is created using Node#addNode or Node#addMixin("mix:referenceable"). However, this is not the case when content is imported using Session#importXML or Workspace#importXML. in these situations the generation of the jcr:uuid is not governed by the system. exporting and re-importing items is very likely to produce uuid-collisions and we need to make sure we can verify and assert the uniqueness in these cases. from the current layout i think that a ValidatorProvider present during commit validation would be the right place for such an assertion. in order to verify the feasibility of that i approach i added a UUIDValidator to the oak/identifier package some days ago (validation not yet implemented). if we find out that this is not suitable or reliable we probably have to look for a solution closer to the mk. in any case (and irrespective of the final solution) we should make sure we understand the (potential) limitation of the uuid-uniqueness in a clustered environment, make sure our implementation gracefully deals with potential violations and have limitations documented. maybe it was also wise discussion under which circumstances such inconsistencies could be really harmful and where it might be acceptable. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira