Uploaded image for project: 'MidPoint'
  1. MidPoint
  2. MID-4480

Container id problem

    XMLWordPrintable

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • backlog
    • Prism
    • Internal

    Description

      There is a problem with the way that we currently generate container ids. Like this:

      1. process 1 reads user, it gets assignemnt(id=1,target=A)
      2. process 2 modifies user: deletes assignemnt(id=1,target=A), adds assignemnt(target=B). The second assignment will also get id=1
      3. process 1 deletes assignemnt(id=1)
      4. Whoops, wrong assignment gets deleted

      There are several options to resolve this problem:

      1. Never reuse IDs. This would be easy, we do not need to modify the client code, but:
        1. The IDs will get reused eventually when the counter overflows
        2. User may chose IDs and therefore force reuse (although this may not really be a problem)
      2. Forget about IDs for delete deltas and always delete by value. But:
        1. There may be value matching and authorization issues (e.g. metadata)

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              semancik Radovan Semancik
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: