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

PortalImpl.getActualLayoutQueryStringComposite retrieves all layouts, but only first one is used

    Details

      Description

      This LPS happens in PortalImpl.java, different from LPS-92844

      All layouts are gotten from database or cache even when only a few of them will be shown. This behavior was detected after user login, when layout tree is rendered.

      Master: PortalImpl.java#L1106-L1112 
      7.1.x: PortalImpl.java#L1108-L1114 
      7.0.x: PortalImpl.java#L1079-L1085#L335-L337 

      To reproduce it, since when rendering a layout, all layouts are retrieved also in com.liferay.portal.events.ServicePreAction._initThemeDisplay(HttpServletRequest, HttpServletResponse) the script provided in the comments can be used to check if after the method is fixed the layouts are cached after PortalImpl.getActualLayoutQueryStringComposite gets called.

       

        Attachments

        1. addTestLayouts.groovy
          2 kB
        2. fail.png
          fail.png
          812 kB
        3. new-70-theme.war
          2.59 MB
        4. new-71-theme.war
          3.77 MB
        5. visualvm_LayoutImpl_cache_objects.png
          visualvm_LayoutImpl_cache_objects.png
          215 kB

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  22 weeks, 4 days ago

                  Packages

                  Version Package
                  7.0.0 DXP FP87
                  7.0.10.12 DXP SP12
                  7.0.X
                  7.1.10 DXP FP14
                  7.1.X
                  7.2.X
                  7.2.1 CE GA2
                  Master