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

Container id problem

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 4.5
    • Component/s: Prism
    • Labels:
    • Subscription:
      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

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

                Dates

                Created:
                Updated: