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

TransactionPortalCache isn't limited regarding size

    Details

    • Branch Version/s:
      7.3.x, 7.2.x, 7.1.x, 7.0.x
    • Backported to Branch:
      Committed
    • Fix Priority:
      3
    • Git Pull Request:
      i4)GrtG&sByw$cYnNtU8

      Description

      TransactionalPortalCacheUtil doesn't have any size restrictions in the transaction scope. UncommitedBuffer accepts an unlimited number of elements as long as the transaction hasn't been committed.

       

      Steps to Reproduce:

      1. Create a huge number of events using the provided script: AuditEventCreate.groovy
      2. Retrieve that number of events using the provided script: OutOfMemory.groovy

       

      Expected Results:

      Memory should not be exhausted with the default cache maxElementsInMemory sizing.

       

      Actual Results:

      An OutOfMemoryError is obtained if the number of events created/retrieved is big enough.

       

      To reproduce it could be needed to increment the amount variable in the creation script. Also, it can be reproduced executing a heap dump in the middle of the iteration script and check that the TransactionalPortalCache is one of the top consumers.

        Attachments

          Activity

            People

            Assignee:
            shuyang.zhou Shuyang Zhou
            Reporter:
            mariano.alvaro Mariano Álvaro
            Participants of an Issue:
            Recent user:
            Clarissa Velazquez
            Engineering Assignee:
            Tina Tian
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Days since last comment:
              10 weeks, 5 days ago

                Packages

                Version Package
                7.0.X
                7.1.X
                7.2.10 DXP FP15
                7.2.X
                7.3.X
                Master