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

SectionManager caching breaks multiple section member updates in a single thread

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.5.2, 2.5.3, 2.5.4, 2.6.0
    • Fix Version/s: 2.5.5, 2.6.0, 2.7.0
    • Component/s: Section Info
    • Labels:
      None

      Description

      While loading test data, I found that when I tried adding members to more than one section in a single thread, changes would only show up for one section. For example, if I tried adding 70 students to "Disc 1" and 70 students to "Disc 2", at the end of the run, "Disc 1" would have 70 members but "Disc 2" would have 0 (or vice versa). Tomcat logs, the Sakai events table, and DB queries while the thread was paused all seemed to indicate that the updates were actually progressing, but then were somehow rolled back.

      I've tracked the problem down to two ThreadLocal caches used by:

      sections/sections-impl/sakai/impl/src/java/org/sakaiproject/component/section/sakai/SectionManagerImpl.java

      Details in comments.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  oheyer Oliver Heyer (Inactive)
                  Reporter:
                  raydavis Ray Davis (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code