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

Introduction of the SiteManageService and improvement to site copy/import thread

    Details

    • Type: Bug
    • Status: Verified
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 12.0, 19.0
    • Fix Version/s: 12.0, 19.0
    • Component/s: Site Info
    • Labels:
    • 12 status:
      Resolved
    • Test Plan:
      Hide

      Test importing (like Site Importing for example)

      Test in two places:

      1. Import content during creation phase
      2. And separate site import function after a site is created.

      Especially test importing Assignments but also test one or two other tools. Resources is a common tool for importing.

       

       

      Show
      Test importing (like Site Importing for example) Test in two places: Import content during creation phase And separate site import function after a site is created. Especially test importing Assignments but also test one or two other tools. Resources is a common tool for importing.    

      Description

      The site info (site-manage) tool performed copying and importing of tool content in a separate thread but its implementation was improved upon.

      A new strategy for maintaining the state of which site is already processing a site copy/import. We use an ExecutorService with a default of up to 10 threads the schedules a Runnable task. A global ConcurrentSkipListSet is used to keep track of which sites are being processed and it will only allow a single copy/import for a site. (The previous strategy used was to give the thread a name and then making an expensive call to retrieve every thread in the jvm and iteratively looking for a matching thread to determine if site was still being copied.)

      Also included in this is a new SiteManageService for which logic that doesn't belong in the tool layer (SiteAction). The goal here is to move logic out of the tool layer and into the service where it can be unit tested and better reused.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  ern Earle R Nietzel
                  Reporter:
                  ern Earle R Nietzel
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code