OutOfMemoryError due to large session counts in heap with ATG on EAP 7

Solution Verified - Updated

Environment

  • JBoss Enterprise Application Platform (EAP) 7.x
  • ATG 11.3

Issue

  • When running on ATG on EAP 7, we started seeing OutOfMemoryErrors. Heap dumps show the heap is being consumed by large amounts of sessions that are retained within the atg.multisite.session.MultisiteComponentSessionManager's mSessions HashTable.

Resolution

  • Contact Oracle for an available patch (reference patch: 27507725 - HTTP Session leak with JBoss 7.0 after JBoss invalidates the session)

Root Cause

  • EAP 7 made a change in the way Sessions are tracked where they now use a org.wildfly.clustering.web.session.ImmutableSession, which fails ATG's internal validation of the session. Hence, when an unbound is issued the ATG code does not unbind its thread variables from the session which leads to a Session Leak.
Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.