并发管理器opp错误举例2

简介: 报错日志:[6/25/14 12:44:43 PM] [main] Starting GSF service with concurrent process id = 521892.

报错日志:

[6/25/14 12:44:43 PM] [main] Starting GSF service with concurrent process id = 521892.
[6/25/14 12:44:43 PM] [main] Initialization Parameters: oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
[6/25/14 12:44:43 PM] [Thread-31] Service thread starting up.
[6/25/14 12:44:43 PM] [Thread-32] Service thread starting up.
[6/25/14 12:44:45 PM] [OPPServiceThread0] Post-processing request 19365616.
[6/25/14 12:44:45 PM] [521892:RT19365616] Executing post-processing actions for request 19365616.
[6/25/14 12:44:45 PM] [521892:RT19365616] Starting XML Publisher post-processing action.
[6/25/14 12:44:45 PM] [521892:RT19365616] 
Template code: CSTCRACC
Template app:  BOM
Language:      zh

Territory:     CN
Output type:   RTF
[6/25/14 12:44:45 PM] [UNEXPECTED] [521892:RT19365616] java.sql.SQLException: Exhausted Resultset
at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:1224)
at oracle.apps.fnd.cp.util.CpUtil.getCanonicalLocalNode(CpUtil.java:127)
at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:244)
at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:176)


可以看到是一个java异常,参考oracle文档:

Output Post Processor Fails Due to java.sql.SQLException: Exhausted Resultset (文档 ID 740529.1)

In this Document
Symptoms
Cause
Solution
References
APPLIES TO:

BI Publisher (formerly XML Publisher) - Version 12.0 to 12.1 [Release 12.0 to 12.1]
Information in this document applies to any platform.
Oracle XML Publisher - Version: 11.5.0 to 11.5.10.2
Oracle XML Publisher - Version: 12.0.0 to 12.0.4
EXECUTABLE:XDOREPPB - Generate PDF from XML output and given template

Checked for relevance on 10-MAR-2013


SYMPTOMS

XML Publisher related concurrent request are failing with the following error in the request log file:

...
+------------- 1) PUBLISH -------------+
Beginning post-processing of request 661465 on node AS31 at 29-SEP-2008 17:17:42.
Post-processing of request 661465 failed at 29-SEP-2008 17:17:42 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
+--------------------------------------+
...
 
The Output Post Processor (OPP) log file can be determine as per the instructions from Note 364547.1 Troubleshooting Oracle XML Publisher for Oracle Applications. Within this log file the following error is found:

...
[9/29/08 5:17:42 PM] [107442:RT661465] Executing post-processing actions for request 661465.
[9/29/08 5:17:42 PM] [107442:RT661465] Starting XML Publisher post-processing action.
[9/29/08 5:17:42 PM] [107442:RT661465] 
Template code: ARXUNAJR
Template app:  AR
Language:      en
Territory:     US
Output type:   PDF
[9/29/08 5:17:42 PM] [UNEXPECTED] [107442:RT661465] java.sql.SQLException: Exhausted Resultset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:382)
at oracle.apps.fnd.cp.util.CpUtil.getCanonicalLocalNode(CpUtil.java:127)
at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:210)
at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:172)

[9/29/08 5:17:42 PM] [107442:RT661465] Completed post-processing actions for request 661465.
...
It can occur on any XML Publisher related report that makes use of the Output Post Processor and it does reproduce at will by simply running such a concurrent request.

CAUSE

The root cause of the problem is an incorrect network setup on the concurrent processing tier. The java stack shows that an unexpected error occurred within the getCanonicalLocalNode() method, part of the CpUtil.java source file. This method is responsible for returning the node name from FND_NODES that matches the local node name which is determined by the following java code:


93  ...
94  try {
95 
96  localNode = InetAddress.getLocalHost().getHostName().toUpperCase();
97 
98  ...


Subsequently, the localNode variable is part of the conditional clause of a SELECT statement on the FND_NODES table.

In some cases, the IP address of the server is resolved to two different hostnames due to the DNS server configuration.

myhost.oracle.com which is returned by the command line utility 'hostname' and myhost as shown by 'uname -a'
myotherhost.oracle.com which is returned by requesting the hostname from the DNS server based upon the server IP address (e.g. nslookup)
The hostname named myhost is registered in FND_NODES whereas myotherhost is not registered within the application.

SOLUTION

The network configuration needs to be corrected in such a way that the Oracle E-Business Suite and more in specific, the Output Post Processor is capable of resolving the correct hostname of the server on which it is running on. A network administrator my need to be consulted in order to resolve the issue.

NOTE:

It's found that there is a difference in the nodename returned by Java program & OS tools (uname-a/hostname).  Please perform the following to validate this:

1. cd $JAVA_TOP

2. Create PrintHostName.java and save below content
-------------save as PrintHostName.java --------------
import java.net.*;
import java.util.*;

public class PrintHostName
{
        public static void main(String[] args) throws Exception
        {
                System.out.println("OPP Host addr: " + InetAddress.getLocalHost().getHostName().toUpperCase());  //
}
}

-------------save as PrintHostName.java --------------

3. javac PrintHostName.java

4. java PrintHostName

5. The output in step 4 should match below:

$hostname

$uname -a

SQL> select UPPER(SUBSTR(node_name,1,DECODE(INSTR(node_name,'.'), 0, LENGTH(node_name), INSTR(node_name,'.') -1 ))),node_name from fnd_nodes  
where NVL(node_mode, 'O') = 'O'  ;


相关文章
|
10月前
|
Java
java有3个独立的线程,一个只会输出A,一个只会输出L,一个只会输出I。在三个线程同时启动的情况下,如何让它们按顺序打印ALIALI。
java有3个独立的线程,一个只会输出A,一个只会输出L,一个只会输出I。在三个线程同时启动的情况下,如何让它们按顺序打印ALIALI。
93 1
|
5月前
|
SQL 算法
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
86 1
避免list的并发修改异常的几种方式
避免list的并发修改异常的几种方式
|
测试技术 Python
Python 技术篇-判断指定路径下的文件是否处于打开状态或占用状态实例演示
Python 技术篇-判断指定路径下的文件是否处于打开状态或占用状态实例演示
607 0
|
小程序 JavaScript DataX
小程序 — 实现左滑删除效果②
前言:这章我们为movable-view添加点击事件,完善左滑效果。 GitHub:https://github.com/Ewall1106/miniProgramDemo 1、 拖动事件 (1)在上一章中,我们给movable-view绑定了一个...
1237 0
|
XML Android开发 数据格式
【PageLayout】非常简单的一键切换加载-空数据-错误页,支持自定义
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/82594706 项目中我们经常会用到的加载数据,加载完数据后显示内容,如果没有数据显示一个空白页,这是如果网络错误了显示一个网络错误页,自定义一个PageLayout。
1155 0