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

Lessons: Serious performance loss in lessons in sites with large number of users.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 12.7, 19.3, 20.0, 21.0 [Tentative]
    • Fix Version/s: 19.5, 20.1, 21.0 [Tentative]
    • Component/s: Lessons
    • Labels:
      None
    • Environment:
      Requires LDAP so the problem is more severe.
    • 20 status:
      Resolved
    • 19 status:
      Resolved
    • Property addition/change required:
      Yes
    • Test Plan:
      Hide
      1. Better if you use an LDAP and the users are provided from the LDAP.
      2. Create a site with thousands of users.
      3. Create a Lesson and access it as instructor.
      4. The lessons page should load fast but takes ages the first time.
      Show
      Better if you use an LDAP and the users are provided from the LDAP. Create a site with thousands of users. Create a Lesson and access it as instructor. The lessons page should load fast but takes ages the first time.

      Description

      We've seen this in many of our instances, when the site contains a large number of users, in combination of an LDAP provider, it takes ages to render the lessons pages.

      Every lesson page loads the display name of all the users, searching in the LDAP, despite the fact this calls are cached, it takes ages for some users:

      03-Apr-2020 15:40:21.907 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 6261534d-deec-4955-899b-e494f9d4aac6 does not have an associated user.
      03-Apr-2020 15:40:21.923 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 5e641c0f-776b-4764-8a88-b2ff5ea10050 does not have an associated user.
      03-Apr-2020 15:40:21.941 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 369f6f92-7b3f-4c28-8869-d59952f3ac39 does not have an associated user.
      03-Apr-2020 15:40:21.957 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: e16bdef9-3ab5-4ad4-b21e-cae11fb8cbe5 does not have an associated user.
      03-Apr-2020 15:40:21.974 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 4b6a7fbc-5d3d-42f7-87d9-b2a360386877 does not have an associated user.
      03-Apr-2020 15:40:21.991 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 18580732-c9da-48ca-9efe-a9dc684df8fb does not have an associated user.
      03-Apr-2020 15:40:22.008 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: bea4576d-5b7e-4eaf-8d01-072dcffb2458 does not have an associated user.
      03-Apr-2020 15:40:22.025 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 2df6f799-e3ec-4cef-b4a0-ac1939ff3563 does not have an associated user.
      03-Apr-2020 15:40:22.043 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 33be22ec-dcab-4d78-9685-cca72a3967c0 does not have an associated user.
      03-Apr-2020 15:40:22.060 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 711c38c8-ef33-4dd7-8f2e-41515b8ad6dd does not have an associated user.
      03-Apr-2020 15:40:22.077 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 086cc1ca-9dff-46ff-84aa-a23dbdaff035 does not have an associated user.
      03-Apr-2020 15:40:22.094 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 6add92ef-5983-4984-bcdb-cff8fff0cddb does not have an associated user.
      03-Apr-2020 15:40:22.111 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: fa6eb2ca-c6e8-4e00-abb7-d209b0ee178b does not have an associated user.
      03-Apr-2020 15:40:22.127 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 30a2fc47-73c0-4921-85da-5284aa1627fd does not have an associated user.
      03-Apr-2020 15:40:22.144 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: be3f097f-a833-421f-b740-7fcadccb9baf does not have an associated user.
      03-Apr-2020 15:40:22.161 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: d65d9738-0f1f-49d7-b4f3-fb9eb94af352 does not have an associated user.
      03-Apr-2020 15:40:22.178 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 14441052-3658-4805-854a-51c193b36bfb does not have an associated user.
      03-Apr-2020 15:40:22.195 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 631efff0-ca56-442a-a9ae-7222117751d1 does not have an associated user.
      03-Apr-2020 15:40:22.212 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 83e94688-fbe1-48f9-a2e0-d13b6244c96b does not have an associated user.
      03-Apr-2020 15:40:22.229 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 3138e8e9-4fe5-4c44-94a6-6f9c7c3bbe91 does not have an associated user.
      03-Apr-2020 15:40:22.246 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 8f1fb10a-483c-4cd3-8e39-5c0c05c12cb2 does not have an associated user.
      03-Apr-2020 15:40:22.263 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: f3fa8b5d-4af1-4016-9d93-4b50246f5b7f does not have an associated user.
      03-Apr-2020 15:40:22.280 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 6106ed52-f732-474d-b900-5bccfa413e68 does not have an associated user.
      03-Apr-2020 15:40:22.296 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 8b8e845e-949d-4d4d-bc9a-20de576fb3c4 does not have an associated user.
      03-Apr-2020 15:40:22.313 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: e6af9bad-d5ca-4c8f-bf1a-a528c6783af5 does not have an associated user.
      03-Apr-2020 15:40:22.330 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 00c59bf4-b07f-453a-97d2-b4b024d2f51e does not have an associated user.
      03-Apr-2020 15:40:22.347 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 25f205e5-131f-4035-b6dc-05cd71e65666 does not have an associated user.
      03-Apr-2020 15:40:22.364 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: ce86926d-63f2-45d3-91b8-eccccc3b816a does not have an associated user.
      03-Apr-2020 15:40:22.381 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 23d29499-7132-49a7-9c2e-cd5c1f8de7c3 does not have an associated user.
      03-Apr-2020 15:40:22.399 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 8e936d93-ae52-4424-ad5a-d9a19d113423 does not have an associated user.
      03-Apr-2020 15:40:22.416 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 005e9c05-6a42-44a7-99df-94d68d4472f1 does not have an associated user.
      03-Apr-2020 15:40:22.432 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: bedc7488-9a49-42dd-bbe9-233a0eced85c does not have an associated user.
      03-Apr-2020 15:40:22.450 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 6d9b62e5-f9f5-4224-b941-4808e9eff00e does not have an associated user.
      03-Apr-2020 15:40:22.466 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 399b8f58-5a64-41b6-bf8a-ceb0435779cc does not have an associated user.
      03-Apr-2020 15:40:22.483 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 855985ef-0ac0-45c3-ad9f-27445a05b778 does not have an associated user.
      03-Apr-2020 15:40:22.500 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: 6360702c-433a-42dc-ba70-438983b6f2f3 does not have an associated user.
      03-Apr-2020 15:40:22.517 INFO [http-nio-8080-exec-775] org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.getUserDisplayName Owner #: d6b89a24-9840-4722-9ac4-5ead56a173fd does not have an associated user. 

      The number of queries are enormous to get the display name of the users, and the names are retrieved to render this selector:

      Assigning a owner to a page is a cool feature but not so frequent, the loss of performance is not worthy.

       

      This Jira disables by default the feature using a property, can be enabled again using a property. 

      I'm fine to enable this by default if the component is moved to a different location, it does not need to render the entire list of users in every page.

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                Assignee:
                farreri Miguel Pellicer
                Reporter:
                farreri Miguel Pellicer
                Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Git Integration