Web Application moved from standalone OC4J to OC4J under AS 10.1.2 quickly becomes unresponsive and gets restarted by OPMN if using <global-thread-pool> tag (Doc ID 352580.1)

Last updated on JANUARY 30, 2017

Applies to:

Oracle Containers for J2EE - Version 10.1.2.0.0 to 10.1.2.3.0 [Release AS10gR2]
Information in this document applies to any platform.

Symptoms

You have been using the "standalone" installation type for Oracle Containers for J2EE (OC4J) for some time, where you have an application that is working to expectation. Recently, you have deployed the application to an OC4J instance running as a component of the larger Application Server (AS) installation type, where the OC4J container is managed by the Oracle Process Manager (OPMN) component of the Application Server and accessed by Oracle HTTP Server (Apache) via the MOD_OC4J component.

While running in the Application Server installation topology the OC4J container where your application is running becomes unresponsive to OPMN heath check "pings" within a very short period of time (typically 10-15 minutes or shorter depending on the frequency of access).

Your OC4J instance log files under $ORACLE_HOME/opmn/logs contain no error messages or other indications of a problem. The java process running the OC4J instance is not consuming high CPU, there is no evidence that the java virtual machine has used a high proportion of memory (no java.lang.OutOfMemory), and additional logging from java startup options "-verbose:gc -XX:+PrintGCDetails" do not show high java heap usage or heavy garbage collection operation.

A java stack trace taking while "opmn" is reporting "ping failures" does not show an excessive number of threads or any threads blocking on one another. There are not a large number of sockets opened to OC4J nor a large number of open files.

The OPMN log file "ipm.log" may show repeated error sequences similar to the following:

06/01/11 14:22:23 [4] Starting Process: OC4J~myOC4J~default_island~1 (1447297270:0)
06/01/11 14:24:08 [4] Process Alive: OC4J~myOC4J~default_island~1 (1447297270:2430)
06/01/11 14:32:18 [3] [libopmnoc4j] OC4J ping attempt timed out
06/01/11 14:32:18 [4] [libopmnoc4j] Process Ping Failed: OC4J~myOC4J~default_island~1
                      (1447297270:2430)
06/01/11 14:33:08 [3] [libopmnoc4j] OC4J ping attempt timed out
06/01/11 14:33:08 [4] [libopmnoc4j] Process Ping Failed: OC4J~myOC4J~default_island~1
                     
(1447297270:2430)
06/01/11 14:33:58 [3] [libopmnoc4j] OC4J ping attempt timed out
06/01/11 14:33:58 [4] [libopmnoc4j] Process Ping Failed: OC4J~myOC4J~default_island~1
                      (1447297270:2430)
06/01/11 14:33:58 [4] [libopmnoc4j] Process Unreachable: OC4J~myOC4J~default_island~1
                      (1447297270:2430)
06/01/11 14:33:58 [4] Restarting Process: OC4J~myOC4J~default_island~1 (1447297270:2430)
06/01/11 14:35:58 [4] Stopping Process: OC4J~myOC4J~default_island~1 (1447297270:2430)
06/01/11 14:35:58 [4] [libopmnoc4j] Forcefully Terminating Process:
                      OC4J~myOC4J~default_island~1 (1447297270:2430)

Changes

You have added a <global-thread-pool> tag, for example:

<global-thread-pool min="18" max="36" queue="200" keepAlive="700000"/>

to the "server.xml" file for the OC4J instance.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms