WebSphere Portal may crash due to heap exhaustion with java.lang.OutOfMemoryError and EJPEJ0070E when a query is sent to Microsoft Active Directory that returns a very large result set.
WebSphere Portal configured with Microsoft Active Directory
Diagnosing the problem
Collect Javacores or heapdumps. See the Related URL section.
While not required you may be directed by IBM Support to enable WebSphere Application Server (WSAS), Virtual Member Manager (VMM) and Naming trace
Resolving the problem
Apply WebSphere Application Server APAR PM82122.
The fix for this APAR is currently targeted for inclusion in fix packs 22.214.171.124 and 126.96.36.199. The fix pack can be downloaded from Recommended fixes for WebSphere Application Server. Until 188.8.131.52 is released please open a PMR with WebSphere Application Server support to request the APAR.
Virtual Member Manager (VMM) sets a search results count limit for every query it sends to an LDAP repository. The default value for this is 4500. When iterating the result set VMM expects the repository to honor the count limit set and throw a SizeLimitExceeded exception when the number of returned results is greater than 4500. This exception is then propagated to WebSphere Portal.
Due to a limitation in Active Directory (AD), VMM also sets page size to 1000 to enable AD to return more than 1000 results in one query. AD, however, does not appear to honor the count limit and no exception is thrown. As a consequence, VMM iterates through and caches all the returned results. VMM has a check in place that still throws a SizeLimitExceeded exception when the results exceed 4500, but this check is expected to be invoked only in a federated repository configuration.