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

Poor performance in "Review changes" of publications with embedded webcontent


    • Feature Request
    • Status: Reviewed
    • Minor
    • Resolution: Already in the Product
    • None
    • 7.4.13 DXP U69
    • None
    • None


      This issue is a followup to LPS-168591, where the worst problem was resolved. When webcontent portlets are embedded in pages and the content of these webcontents contains links to pages, the performance of "Review Changes" was extremely poor.

      The fix in LPS-168591 improved the performance a lot by skipping PortletPreferences, even with the fix the generated CTClosure object still contains a lot of unnecessary references. Please see there for a description how to replicate our setup.

      I have used a little script to generate a CTClosure object. The ID in the example is from a new Publication where one page was added. Nothing else was done.


      import com.liferay.portal.template.*;
      ctClosureFactory = ServiceLocator.getInstance().findService('com.liferay.change.tracking.closure.CTClosureFactory');
      closure = ctClosureFactory.create(1101);


      1,5 Million lines before LPS-168591

      140.000 lines after LPS-168591

      But on a fresh system this object contains usually less than 100 lines. Please find attached the output of the above script with 140.000 lines + an export of the className table to match the ids in the result. Obviously, there are a lot of improvements possible here.

      I am pretty sure that

      a) Some more classNames can be skipped (or maybe the other way: Include only relevant classNames)

      b) Another idea I had was to just include each entry in the result only once. e.g. 




            david.truong David Truong
            crabel Christoph Rabel
            0 Vote for this issue
            0 Start watching this issue




                Version Package
                7.4.13 DXP U69