Java ORB properties for communication and connectivity issues

Technote (FAQ)
Problem
Administrative server connectivity issues
Solution
Some examples of administrative server communication and connectivity Issues are:
  1. When the nth user (where nis more than 50) tries to connect to the administrative server using the remote administrative console, that user might be unable to establish a connection. This problem occurs intermittently.

    When a significant number of clients attempt to open new connections with a server at the same time, they can receive a java.net.ConnectException from the object request broker (ORB). When initially establishing a connection with the server, the client attempts to open a socket to that server. On the server, that request goes to open a socket, then is queued until the ORB listener thread accepts that connection request. The default depth of the queue that holds the incoming connection requests is 50. After the queue is full, the server socket layer rejects additional incoming requests to open a socket with a java.net.ConnectException. That exception is returned to the client application by the client ORB. If you are unable to establish more than 50 connections, the problem is with the server socket queue on the administrative server side.

    To resolve the server socket issue, add the property, com.ibm.CORBA.ServerSocketQueueDepth= property into the admin.config file so that the adminServer can handle more concurrent client connections. (See properties after the second example below).

  2. A user tries to install a 34 MB WAR file using the administrative console, and the installation times out. The requestTimeout and locateRequestTimeout default setting is 180 (3 minutes). For some situations, like the client requesting a large PDF, or in this case, installing a large WAR file, a request takes longer than 180 seconds.

    Setting the locateRequestTimeout value to 300 seconds or higher allows for long transactions to complete. To resolve the time out issue, add the following properties in admin.config to allow the transaction more time to complete.

    com.ibm.CORBA.requestRetriesCount=5

    com.ibm.CORBA.requestRetriesDelay=3000 // 3 seconds

    com.ibm.CORBA.requestTimeout=300 // 300 seconds

    com.ibm.CORBA.locateRequestTimeout=300 // 300 seconds

    com.ibm.CORBA.MaxOpenConnections=1200 // 1200/2=600 connections

    com.ibm.CORBA.ServerSocketQueueDepth=200


Solaris Operating System™ only has 256 connections per process, so you can use only com.ibm.CORBA.MaxOpenConnections=256
(256/2=128 physical connections) for the administrative server. Default MaxOpenConnections value is 240 (240/2=120 physical connections).

Save the admin.config and restart the administrative server.
Add the following CORBA properties into java and javaw command lines of the adminclient.bat as follows:
$java -Dcom.ibm.CORBA.requestRetriesCount=5
-Dcom.ibm.CORBA.requestRetriesDelay=3000
-Dcom.ibm.CORBA.requestTimeout=300
-Dcom.ibm.locateRequestTimeout=300
-Xms19m -Xmx128m -Xminf0.1 ..........

Repeat this process for $javaw, and save the adminclient.bat file. Then start the administrative console client.
Definitions:

MaxOpenConnections
The cache size in the WebSphere Application Server ORB components to keep track of the IIOP connections. Conceptually, this cache size is unlimited from an ORB perspective. However, the restriction is due to the hardware and JVM™. The default value is 240 or 120 physical connections.

ServerSocketQueueDepth
Increases the JVM socket queue size to hold incoming message data. The default value is 50. Setting this queue deeper might be required if there are more than 50 clients requesting new connections with a server faster than the server can issue a ServerSocket.accept for those requests. Once the connections are established, this queue depth is no longer relevant.

locateRequestTimeout - Defines the number of seconds to wait before timing out on a LocateRequest message. The default value is 180.

requestTimeout - Defines the number of seconds to wait before timing out on a Request message. The default value is 180.

requestRetriesDelay - The amount of delay time (in milliseconds) between retries. Default is 0.

requestRetriesCount - The number of attempts to send an indirect IOR request if a server does not respond. If the server is unavailable, the LSD has an opportunity to issue a new direct IOR. The default value is 1.











Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, Administrative Console (all non-scripting)
Operating system(s): AIX, HPUX, Linux, Multi-Platform, Solaris, Windows
Software version: 3.5, 4.0
Software edition: Edition Independent
Reference #: 1114590
IBM Group: Software Group
Modified date: 2004-06-03