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

Adding new versions of a web content article is noticeably slower as a web content article has more versions

    Details

      Description

      Issue: Adding new versions of a Web Content article is noticeably slower as a Web Content article has more versions. For instance, if there are 2000 Web Content article versions, publishing new versions takes 9-12 seconds. But if publishing a new article, it only takes .5-1 second. Minhchau tested the difference in time between a new article and one with 2000 versions and the below logs displays the difference between the two:

      For a Web Content article with 2000 versions:

      07:10:06,023 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 12071 ms
      07:10:33,067 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 11667 ms
      07:11:00,524 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 11127 ms
      07:11:35,960 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 10856 ms
      07:12:05,813 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 11121 ms

      For a new Web Content article

      07:14:05,283 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 54 ms
      07:14:25,086 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 54 ms
      07:14:35,620 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 67 ms
      07:14:46,504 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 71 ms
      07:15:13,362 DEBUG [InvokerPortletImpl:?] processAction for 15 takes 80 ms

      As seen above, it's about 200 times longer to publish an article with 2000 versions than a brand new article with the exact same structure and content.

      IMPORTANT

      This LPS only address some minor fixes at JournalArticle:

      • Avoid some redundant indexations
      • Don't change the url title unless necessary
      • Rewrite of doDelete logic, to avoid index all versions at delete

      Main issue is caused by JournalIndexer that it is always indexing all versions, causing a big overhead.

      This indexation problem will be addressed:

      • For 6.2.x, at LPS-48407: a workaround will be created to limit indexation
      • For future versions, at LPS-48106: a rewrite of JournalArticle logic will be done to solve all issues

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              shitian.zhang Shitian "Shelton" Zhang (Inactive)
              Reporter:
              jorge.diaz Jorge Diaz
              Participants of an Issue:
              Recent user:
              Esther Sanz
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Days since last comment:
                5 years, 9 weeks, 1 day ago

                  Packages

                  Version Package
                  6.1.X EE
                  6.2.2 CE GA3
                  6.2.X EE
                  7.0.0 M3