XML Publisher Request Fails Due to Output Post Processing Issue

OPP Log file:

To obtain the OPP log file, follow the bellow steps:
§  Select the System Administrator responsibility.
§  Navigate to Concurrentà ManageràAdminister.
§  Select the Output Post Processor Service.
§  Select the Processes button.
§  Select Manager Log.

Issues:

BI Publisher concurrent request completed with warning due to a timeout caused by the Output Post Processor (OPP).  Given bellow the possible common errors may occur due to OPP issue:

  • Issue 1. OPP No Response:

+------------- 1) PUBLISH -------------+
The Output Post-processor is running but has not picked up this request.
No further attempts will be made to post-process this request, and the request will be marked
with Warning status.
Setting the profile option Concurrent: OPP Response Timeout to a higher value may be necessary.
+--------------------------------------+
  • Issue 2.  OPP Process Timeout:
+------------- 1) PUBLISH -------------+
The concurrent manager has timed out waiting for the Output Post-processor to finish this request.

Check that there are enough Output Post-processor service processes running.
More information may be found in the service process logfile.
+--------------------------------------+

  • Issue 3. OPP No Response and OPP Process Timeout:

+------------- 1) PUBLISH -------------+
The Output Post-processor is running but has not picked up this request. 
No further attempts will be made to post-process this request, and the request will be marked
 
with Warning status.
Setting the profile option Concurrent: OPP Response Timeout to a higher value may be necessary.
+--------------------------------------+
  • Issue 4. The OPP is not running or does not pick up the request:
+------------- 1) PUBLISH -------------+
Unable to find an Output Post Processor service to post-process request [request_id].
Check that the Output Post Processor service is running.
+--------------------------------------+
  • Issue 5. OPP log contains error java.lang.OutOfMemoryError: Java heap space
Cause:

1    1.    OPP No Response:

The concurrent manager process generates the XML data file. Upon completion it will trigger the OPP in order to merge the XML data file and the template which was selected on the Submit Request form.

The number of concurrent requests that the OPP can handle in parallel depends upon:
  • the number of Processes
  • the number of Threads Per Process
The default values are 2 Processes and 2 Threads per Process so a total of 4 reports can be processed in parallel.

In case there are other concurrent requests running which have already invoked the OPP then it might happen that no additional requests can be picked up for a period of time. The pending request will be picked up as soon as one of the running jobs completes. By default a timeout will occur if it takes longer than 120 seconds (2 min.) for the Output Post Processor to pick up the request from the concurrent manager process. In that case, the concurrent request will complete with status Warning and the request log file will contain Error Message 1 (see above).

2. OPP Process Timeout:

Once the OPP picks up the request, the BI Publisher engine is invoked to generate the final output file. The time that this takes will depends on various elements such as:
  • size of the XML Data File
  • complexity of the template
  • performance of the server
By default a timeout will occur if it takes longer than 300 seconds (5 min.) for the BI Publisher engine to generate the output file. The concurrent request will complete with status Warning and the request log file will contain Error Message 2.


3. OPP No Response and OPP Process Timeout:


The OPP service is not picking up any new requests. The OPP JAVA process is still running, but it is unresponsive.

This can be due to errors in previous requests or just to the amount of time the manager has been running. The OPP becomes unresponsive (stale) after running for more than one week.
4. The OPP is not running or does not pick up the request:
The error generally occurs if the OPP service is not running or the OPP service is not active

5. OPP log contains error java.lang.OutOfMemoryError: Java heap space:


Solution:
Two profiles options actually control the timeouts of OPP.
             i.        Concurrent:OPP Response Timeout
            ii.        Concurrent:OPP Process Timeout

  1. OPP No Response:
                      i.        Increase the value (in seconds) for the profile option 'Concurrent:OPP Response Timeout'. If the current value is 120 then set it to 240. (Value *2)
                     ii.        Increase the number of processes or threads (or both) of the OPP via System Administrator
                    iii.        Stop and restart the OPP service

  1. OPP Process Timeout:
Increase the value (in seconds) for the profile option 'Concurrent:OPP Process Timeout'.

  1. OPP No Response and OPP Process Timeout:
                      i.        Increase the value (in seconds) for the profile option 'Concurrent:OPP Response Timeout'. If the current value is 120 then set it to 240. (Value *2)
                     ii.        Increase the value (in seconds) for the profile option 'Concurrent:OPP Process Timeout'
Note:  Oracle recommends setting the profiles to the following values to minimize seeing the occurrence of the Warning in your log file, especially if you are submitting large reports:
Concurrent: OPP Processing Timeout to 86400 (24 hours)
Concurrent: OPP Response Timeout to 3600 (1 hour)
                    iii.        Bounce the concurrent managers and resubmit.

4. The OPP is not running or does not pick up the request:

Insure the OPP manager is running. Note: If the OPP manager is not running then navigate to the Oracle Applications Manager responsibility - Concurrent Managers - Select Output Post Processor - View Details - Stop and then Start the Manager again.

5. OPP log contains error java.lang.OutOfMemoryError: Java heap space:


Generic errors can be resolved by performing either of the following steps:
§  Log into the XML Publisher Administrator responsibility.
§  Navigate to Home – Administration – Configuration.
§  Under the General Properties select Temporary directory.
§  Select a temporary file location on your concurrent processing node.  This should be at least 5Gb or 20 times larger than the largest XML data file you generate.

OR
§  Get the heap size per OPP process is currently defined:
          SELECT developer_parameters
             FROM fnd_cp_services
           WHERE service_id = (SELECT manager_type
                                            FROM fnd_concurrent_queues
                                           WHERE concurrent_queue_name = 'FNDCPOPP'
                                        );
           The default should be:
             J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m

§  Increase the Heap Space per Process to 1024:
UPDATE fnd_cp_services
       SET developer_parameters
             ='J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx1024m'
  WHERE service_id = (SELECT manager_type
                                    FROM fnd_concurrent_queues
                                  WHERE concurrent_queue_name = 'FNDCPOPP'              
                                 );

§  Bounce the Concurrent Manager

Comments

Popular posts from this blog

Oracle Database Connection to TOAD

Conditionally mandatory parameters of concurrent program