PQ61243: EJB client hangs with servlet, JSP or stand alone Java client

Downloadable files
Abstract
The Application Server clone exists on node-02. When the clone on node-02 is stopped, the Application does not connect to the running clone.
Download Description
PQ61243 resolves the following problem:

USERS AFFECTED:
WebSphere® Application Server users of enterprise applications.

PROBLEM DESCRIPTION:
Enterprise application hangs when it tries to use RMI-IIOP to send data across the wire. This hang seems to be happening on the client side.

PROBLEM CONCLUSION:
This defect was created to workaround an IBM® SDK bug. When the Object Request Broker (ORB) IIOPConnection.send() tries to send data over the wire, the SDK intermittently throws an InterruptedIOException back IIOPConnection.send() and eventually causes a hang on the ORB layer. To avoid this InterruptedIOException, ORB explicitly retries five times when this exception is thrown from the SDK. However, if the SDK continuously throws the same exception or IOException after 5 retries, ORB will hang again. To make ORB more robust, the ORB reader thread should be adjusted to avoid the potential dead lock in the ORB layer.

In one scenario, Web Methods were run as a Java™ client on Solaris™, connecting to WebSphere Application Server v3.5.5 stateful session bean on another Solaris host. This stateful session bean communicates to a stateless session bean on another remote v3.5.5 AIX node. The remote tier is actually two v3.5.5 nodes in the same domain, 01 and 02. 01 is the primary node and contains a model and cloned application server. The application server clone exists on 02. When the clone on 02 is stopped, the application does not connect to the clone that is still running.

Actual Exception:
=================

[1/15/02 13:29:34:329 CST] 21b220 ORBRas X
com.ibm.CORBA.iiop.IIOPConnection send Thread-0 The following exception was logged
java.io.InterruptedIOException:
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(Unknown Source)
at
com.ibm.CORBA.iiop.ClientRequestImpl.writeTo(ClientRequestImpl.java:336)
at
com.ibm.CORBA.iiop.IIOPConnection.send(IIOPConnection.java:1352)
at
com.ibm.CORBA.iiop.ClientRequestImpl.invoke(ClientRequestImpl.java:508)
...


If the client bean were running on AIX, it does recover. On Solaris, it does not.
Prerequisites
None
Installation instructions
Please review the readme for detailed installation instructions.
URLLANGUAGESIZE(Bytes)
Readme - 3.5.x US English10997
Readme - 4.0.xUS English7776
Download package
DownloadRELEASE DATELANGUAGESIZE(Bytes)Download Options
PQ61243 - 3.5.37/26/2002US English57464FTP
PQ61243 - 3.5.47/12/2002US English39348FTP
PQ61243 - 3.5.57/23/2002US English32052FTP
PQ61243 - 3.5.67/23/2002US English13310FTP
PQ61243 - 4.0.17/24/2002US English1083282FTP
PQ61243 - 4.0.27/24/2002US English1086285FTP
PQ61243 - 4.0.37/24/2002US English1062004FTP
Technical support
1-800-426-7378 U.S. Only











Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, Administrative Console (all non-scripting)
Operating system(s): Multi-Platform, Windows, AIX, HPUX, Linux, Solaris
Software version: 3.5.3, 3.5.4, 3.5.5, 3.5.6, 4.0.1, 4.0.2, 4.0.3
Software edition: Advanced
Reference #: 4001919
IBM Group: Software Group
Modified date: 2004-12-15