The most commonly errors / warnings that we see when handling OPP are CONC-PP NO RESPONSE , CONC-PP TIMEOUT, java.lang.OutOfMemoryError. We need to first diagnose before taking any action. The fix is not always to increase the values but first check
1) CONC-PP NO RESPONSE
Error Message : 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.
The Concurrent Manager process generates the XML data file. Upon completion, it will trigger the Output Post Processor 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 Output Post Processor can handle in parallel depends upon:
- The number of Processes
- The number of Threads Per Process
Example, If the values are 4 Processes and 5 Threads Per Process so a total of 20 reports can be processed in parallel.
In case there are other Concurrent Requests running that 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 a status Warning and the Request log file will contain Error Message - CONC-PP NO RESPONSE
- Increase the value (in seconds) for the profile option 'Concurrent:OPP Response Timeout' so that the requests wait for a longer time before timing out.
- Increase the number of processes or threads (or both) of the OPP from the front end via the concurrent manager > define page or via Oracle Applications Manager so that we can process more number of requests processed parallelly.
2) CONC-PP TIMEOUT
More information may be found in the service process logfile.
Once the Output Post Processor picks up the request, the XML Publisher engine is invoked to generate the final output file. The time that this takes will depend on various elements such as:
- Size of the XML Data File
- The complexity of the template
- Performance of the server and other factors
By default, a timeout will occur if it takes longer than 300 seconds (5 min.) for the XML Publisher engine to generate the output file.
The Concurrent Request will be complete with a status Warning and the Request log file will contain an Error Message - CONC-PP TIMEOUT
Fix :
We will need to increase the timeout value for the profile option 'Concurrent:OPP Process Timeout' to avoid this error if you expect some programs doing heavy data reports.
Internal Name : CONC_PP_PROCESS_TIMEOUT
Description: Specifies the amount of time the manager waits for the OPP to actually process the request.
3) java.lang.OutOfMemoryError
A high number of threads increases the risk of running into java.lang.OutOfMemoryError errors during peak loads.
So Limit the number of threads per OPP process: each thread will process a single report thus more threads means that more reports can run in parallel however they share the maximum Java heap size per process
Enable the scalable feature of the XSLT processor on the Template level and only for those reports that are known to process large amounts of data.
It is not recommended to enable the scalable feature of the XSLT processor at the global level.
So whenever a new report is created and requires a XML template, please do below:
- Make sure to eliminate the amount of data in a single report, e.g. limiting parameters range, writing SQLs to return only required data, etc.
- If a report could generate a large output (e.g. > 100M), and requires XML template, make sure to set below 3 properties to true in the corresponding XML template. It would enforce the OPP to handle the files on disk:
Use XML Publisher's XSLT processor : True
Enable scalable feature of XSLT processor : True
Enable XSLT runtime optimization xslt-runtime-optimization: true
4) Out of memory in concurrent Program
For the specific concurrent program which is showing OPP related out of memory issues, you can think of increasing run time memory
- Go to 'System Administrator' responsibility.
- Navigate to Concurrent – > Program – > Define.
- Search for the concurrent program
- Set the Options field to -Xmx1024M (can be set to 2048M if the program still fails)
- Save.
- Bounce the Concurrent Manager for the effects to take place.