Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-68170

StagingPermissionCheckerFactory should use ServiceTracker to track highest ranking PermissionCheckerFactory service to avoid repeatedly lookup service registry causing global synchronized point

    Details

      Description

      Search "- waiting to lock <0x0000000722fb2be0> (a java.util.HashMap)" in the attached thread dump, you will see many threads are blocked waiting to access service registry due to StagingPermissionCheckerFactory repeatedly lookup the current services.

      In case like this, it should use ServiceTracker, which has an internal cache for top ranking service, to avoid unnecessary service registry lookup.

        Attachments

          Activity

            People

            Assignee:
            shitian.zhang Shitian "Shelton" Zhang (Inactive)
            Reporter:
            shuyang.zhou Shuyang Zhou
            Participants of an Issue:
            Recent user:
            Csaba Turcsan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Days since last comment:
              4 years, 12 weeks, 1 day ago

                Packages

                Version Package
                7.0.0 DXP FP5
                7.0.0 DXP SP1
                7.0.3 CE GA4
                7.1.X
                Master