Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-32083

Prevent concurrent requests when reassigning/delegating a task

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2021
    • Fix Version/s: 2021.45, 2023.4
    • Component/s: Workflow
    • Release Notes Summary:
      Tasks are now reassigned/delegated automatically
    • Backlog priority:
      800
    • Sprint:
      nxplatform #98
    • Story Points:
      3

      Description

      Theoretical steps to reproduce:

      1. Create 2 users jack and john and add them to the "members" group
      2. As any user, create a Note document
      3. Then start a Serial Review workflow on this Note document
      4. Then assign the first task "Choose Participants" to the "members" group and press the "Start review" button
      5. Now, with 2 different browsers, log in as john and jack
      6. Navigate to the task which is assigned to you
      7. Reassign the task to you :
        • select your user in the "Choose the user" field
        • at the exact same time, push the button Reassign

      Observed behavior:

      • the current task is assigned to john : you can see in the task metadata that the "nt:actor" field contains "john"
      • the Everything permission is assigned to jack : you can see the permission in the Task ACLs
      • in the nt:taskComments metadata, you can see 2 values, one for jack, one for john
      • because of this configuration, the task cannot be processed any more: the current assignee does not have the permission to manage the task

      Expected behavior:
      The reassign method prevents from running its code by 2 concurrent users. It could use the same mechanism as the "endTask" method which uses LockHelper#doAtomically

      PS: it's difficult to observe this bug but it has happened already twice at the customers'

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: