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

            shitian.zhang Shitian "Shelton" Zhang (Inactive)
            shuyang.zhou Shuyang Zhou
            Kiyoshi Lee Kiyoshi Lee
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              6 years, 13 weeks, 2 days ago

              Packages

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