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

There are multiple SharedSessionWrappers pointing to the same portlet session in PortletSessionTracker

    Details

      Description

      For deployed portlets, upon each request, PortletServlet tries to add the portlet session wrapped in a SharedSessionWrapper to PortletSessionTracker so that we can invalidate the session when the HTTP session gets invalidated. However as we wrap the portlet session into a new SharedSessionWrapper for each getSession() request and because SharedSessionWrapper doesn't have its hashCode() or equals() method implemented, the hash set in PortletSessionTracker will store this new SharedSessionWrapper for each request.

      While this usually doesn't cause any out of memory problems as users' sessions time out and real load on a portal usually involves multiple sessions, there can be scenarios when many requests are sent either in a relatively short time or with a long lived session (load test, single - e.g. machine - consumer on the other end). In these cases this problem can cause out of memory errors.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              michael.saechang Michael Saechang
              Reporter:
              zsolt.berentey Zsolt Berentey (Inactive)
              Participants of an Issue:
              Recent user:
              Esther Sanz
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Days since last comment:
                8 years, 31 weeks, 1 day ago

                  Packages

                  Version Package
                  6.0.X EE
                  6.1.20 EE GA2
                  --Sprint 11/12
                  6.2.0 CE M2