The fix for
UP-1590 that was applied for the 2.6.0 release results in an IllegalStateException in CPortletAdapter.receiveEvent(PortalEvent) for a SESSION_DONE event. This occurs when a user has viewed more than one portlet (more than one CPortletAdapter) and logs out. The IllegalStateException is caught and the stack trace is logged. When a user views n portlets (where n >1), then the IllegalStateException stack trace gets logged n-1 times.
It should be noted that the
UP-1590 fix applied for 2.6.0 differs from the patches attached to the
UP-1590 JIRA issue. The patch applied for 2.6.0 includes a PortletSession field being added to CPortletAdapter.java. The patches attached to the JIRA issue instead include the addition of a Map to hold PortletSession instances wrapped in WeakReference instances.
One approach to fixing this issue would be to replace the "PortletSession portletSession" field in CPortletAdapter with "WeakReference portletSessionRef" and to adjust the code accordingly.