Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-38583

ID / EID cache will become corrupted if EID has mixed-case characters in SAKAI_USER_ID_MAP



    • Type: Bug
    • Status: CLOSED
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.6.x
    • Fix Version/s: None
    • Component/s: Kernel
    • Labels:
    • Environment:
      provided users, legacy system (upgraded from Sakai 2.4 to 2.5 to 2.6), EIDs present in SAKAI_USER_ID_MAP with caps, case sensitive ids *off*
    • Previous Issue Keys:


      Symptoms: users will report being "unable to view my course tabs". Going to Become User tool and inputting their EID will result in an incorrect internal user id (compared to the USER_ID returned from the SAKAI_USER_ID_MAP table)

      Problem: DbUserDirectory is generating a new user id for the eid and corrupting the cache

      Sakai instances that will experience this issue:

      1) provider returns mixed-case EIDs;
      2) system was upgraded from previous versions of Sakai; and
      3) mixed-case EIDs existing in your SAKAI_USER_ID_MAP table.

      Steps to replicate:

      1) Find a mixed-case EID in SAKAI_USER_ID_MAP
      2) Add this user to a course site
      3) Admin Workspace -> Memory -> Reset all Caches
      4) Go to course site -> Site Info
      5) Go to Admin Workspace -> Become User
      6) Enter the EID, click View User Info and notice the incorrect internal user id

      The cache becomes corrupted when DbUserService does an SQL lookup in checkMapForEid for the user's EID. The method then puts the mixed-case EID into the cache without cleaning first. Every other method that checks the cache will clean the EID first....

      Patch attached.

        Gliffy Diagrams


            Issue Links



                • Assignee:
                  raydavis Ray Davis (Inactive)
                  ottenhoff Sam Ottenhoff
                • Votes:
                  0 Vote for this issue
                  2 Start watching this issue


                  • Created:

                    Git Source Code