IBM Support

Common causes for "Connection cannot be established" errors in Content Manager OnDemand

Troubleshooting


Problem

This document covers the most common causes for a "Connection cannot be established" error in IBM® Content Manager OnDemand.

Cause

A connection cannot be established error can be thrown in many different situations in Content Manager OnDemand from connecting using an OnDemand client such as ODWEK, to an ARS command such as ARSXML. To begin troubleshooting, determine whether the problem occurs intermittently or consistently.

Common causes for an intermittent connection cannot be established error
An intermittent connection cannot be established error typically occurs at different points in time during execution or only after a certain number of successful connection attempts.
  1. All network ports are either occupied or in a TIME_WAIT state. This problem is most common on Windows, where the default number of ports is much lower. When this occurs, no new socket connections can be made, resulting in a connection cannot be established error. The netstat -an command can be used to monitor the state and number of network ports currently in use. How to determine the maximum number of ports configured in the environment is dependant on the platform. For example, on AIX, the no -p -a command can be used to determine the maximum number of configured ports by subtracting the tcp_ephemeral_high and tcp_ephemeral_low values. Further information can be found in this TechNote. The solution is to increase the maximum number of network ports allowed and also evaluate lowering the configured network TCP time wait delay.
     
  2. The maximum number of processes a single user can fork at a given time has been reached. This typically occurs in Content Manager OnDemand server versions where arssockd was implemented in a process model; multiple arssockd processes would be forked dynamically as requests were received. Content Manager OnDemand V8.4.1 and later on AIX and V8.3 on all platforms followed this model, whereas other versions and platforms ran in a threaded model; one arssockd process that spawned threads dynamically as needed. If this number has been reached, you will receive the connection cannot be established error. On AIX, you can obtain the maximum number of processes a user can have a given time by running the command, lsattr -E -l sys0 -a maxuproc. You can then increase this value, for example to 2048, by running the following command, chdev -l sys0 -a maxuproc=2048. The default value of 128 is too low for a production environment.
     
  3. An out of memory condition has occurred. In isolated situations, this error can be thrown as a result of an out of memory condition during processing. For example, when using ARSLOAD to load an AFP document that has a very large AFP resource (such as 1GB). Examine the soft and hard user limit (ulimit) of the user running the Content Manager OnDemand server (arssockd) and the command in question. Also, evaluate the operation being performed, focusing on an extreme memory requirement.
     
  4. A network problem has occurred. Commands such as netstat -v on AIX, netstat -es on Windows®, and netstat -s on Solaris® can be utilized to examine general network health and report dropped or bad packets. A network trace may be taken to confirm whether there is a network issue.

Common causes for a consistent connection cannot be established error
A consistent connection cannot be established error is defined as always occurring without any success.
 
  1. An incorrect Content Manager OnDemand server configuration.
    1. On the library server, verify the HOST and PORT parameter values are set to correct values in the ars.ini.
    2. If running a separate object server:
      1. Verify the PORT parameter value in the ars.ini is configured to the same value as the library server.
      2. Verify the ARS_SRVR and ARS_LOCAL_SRVR are configured correct in the ars.cfg.
    3. Verify the IP or hostname specified in the Object Server field of your primary storage node is correct. This value is stored under your storage set in the OnDemand Administrator client.
       
  2. An incorrect OnDemand client configuration.
    1. Verify the HOST and PORT parameter values in the OnDemand client are set to the same values found in the Content Manager OnDemand server's ars.ini file.
    2. If using the ODWEK Java APIs, verify the correct port is being passed in your ODServer.setPort API call. It is only necessary to set the port using this ODWEK Java API if your Content Manager OnDemand server is not running on the default port (0 or 1445).
       
  3. An incorrect hosts file configuration. Verify the hosts IP address and hostname mapping are correct in your Content Manager OnDemand server and client's hosts file.
     
  4. A firewall is blocking access to the specified Content Manager OnDemand server port. Use the telnet command to test if the port is open and accessible. For example, telnet my.od.server.com 1445. If the command fails to connect, the port is not open.

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEPCD","label":"Content Manager OnDemand for Multiplatforms"},"ARM Category":[{"code":"a8m0z0000001gP1AAI","label":"technote"}],"ARM Case Number":"","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"All Versions"}]

Document Information

Modified date:
13 July 2021

UID

swg21497225