Uploaded image for project: 'Kuali Rice Development'
  1. Kuali Rice Development
  2. KULRICE-14069

Questions about thread safety of KRAD UserSessionUtils

    Details

    • Type: Task
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Epic Link:
    • Rice Module:
      KNS, KRAD
    • KRAD Feature Area:
      Utility
    • Application Requirement:
      KFS, KC
    • Sprint:
      2.3.1 Sprint 1, Middleware 2.5.2 Sprint 3
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes
    • Story Points:
      5

      Description

      Original Issue:

      The IU KFS team saw an issue recently (KFSCNTRB-1679) where one document overwrote the contents of another. We haven't fully explained this issue yet but we found out yesterday in conversations at our F2F that several institutions have seen these issues and generally, they recommended to their users at they not use multiple tabs/windows in the same window at the same time. This seems to have diminished the problems which leads us to believe that sessions are involved.

      Casually looking yesterday, a couple of us noticed UserSessionUtils#addWorkflowDocument, and we question the thread safety of that method; it seems like there's a chance - however small - that a HashMap could be changed by two threads simultaneously and so that HashMap should be synchronized.

      Check if the fix is in Rice 2.3 and back port it to 2.1 (look at KULRICE-10183)

        Attachments

          Issue Links

            Activity

            Hide
            jksmith James Smith added a comment -

            Got it - thank you Claus!

            Show
            jksmith James Smith added a comment - Got it - thank you Claus!
            Hide
            sedgar Steve Edgar (Inactive) added a comment -

            The changes for 2.1 have been committed. Just want to confirm on next steps, as various options have been mentioned. Is it desired the patches for 2.2 and 2.3 be placed in this Jira case, placed in a new Jira case, or should those be committed to their respective Rice versions are part of this case?

            Show
            sedgar Steve Edgar (Inactive) added a comment - The changes for 2.1 have been committed. Just want to confirm on next steps, as various options have been mentioned. Is it desired the patches for 2.2 and 2.3 be placed in this Jira case, placed in a new Jira case, or should those be committed to their respective Rice versions are part of this case?
            Hide
            sedgar Steve Edgar (Inactive) added a comment -

            As requested, will upload the patches for 2.2 and 2.3 to this case, and then resolve this case.

            Show
            sedgar Steve Edgar (Inactive) added a comment - As requested, will upload the patches for 2.2 and 2.3 to this case, and then resolve this case.
            Hide
            sedgar Steve Edgar (Inactive) added a comment -

            Patches for versions 2.2 and 2.3.

            Show
            sedgar Steve Edgar (Inactive) added a comment - Patches for versions 2.2 and 2.3.
            Hide
            cniesen Claus Niesen added a comment -

            This change was rolled back. See KULRICE-14252 for instructions to reapply.

            Show
            cniesen Claus Niesen added a comment - This change was rolled back. See KULRICE-14252 for instructions to reapply.

              People

              • Assignee:
                sedgar Steve Edgar (Inactive)
                Reporter:
                jksmith James Smith
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 1 day, 4 hours
                  1d 4h
                  Remaining:
                  Remaining Estimate - 1 day, 4 hours
                  1d 4h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified