Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.14
    • core, jcr, query
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              angela Angela Schreiber
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: