DUAS: "Cannot assign requested address" during peak of connections cause commands / uprocs to Abort
book
Article ID: 84798
calendar_today
Updated On:
Products
CA Automic Dollar Universe
Issue/Introduction
In Dollar Universe version 5:
The following error messages are present in universe.log: ====================================================================================== << 2014-01-20 05:03:10 0002038/uxshw /CALL_UXIOSRV /000000000 - u_io_callsrv(on NODE,COMPANY,X) returns error -1 << 2014-01-20 05:03:10 0002038/uxshw /GAAPIUSR /134459202 - %UNI_-E-U_EGAT05B3207, Update to an unknown User << 2014-01-20 05:03:10 0002043/uxshw /u_io_callsrv /000000000 - u_connect error : Errno syserror 99: Cannot assign requested address (host [HOSTNAME]) ======================================================================================
In this example, the issue occurs between 5:00 and 5:30 AM everyday.
The connection to the IO server can increase dramatically. In our example, from 1K to 27K in less a few seconds (less than 10 seconds) using the netstat command while greping for the IO server's port number (ex: 10600).
The high volume of connections to the IO server causes the system to run out of available TCP sockets.
In Dollar Universe 6, the following kind of errors appear in universe.log during the launch of the script that creates the Production Plan Batch ( creation and distribution of uprocs / sessions / resources / tasks...):
|ERROR|X|cmd|pid=p.t| owls_connect_auth | k_connect_auth_timeout(COMPANY/SIO) returns error [200] |ERROR|X|cmd|pid=p.t| o_callsrv_connect_r| Connection error 99 [Errno syserror 99: Cannot assign requested address] |ERROR|X|cmd|pid=p.t| owls_cmd_return | Can not connect to server. Error!
In the output of the command line the following error appear:
Commande : uxadd upr exp upr=UPROC label="label" fperiod=D appl=MM memo=O geninf nbper=0 upt=cl_int vupr=000 nopartage nointeractive Can not connect to server. Error! commande en erreur!!
Environment
Component: Automic Dollar Universe Release: 5.x
Cause
Exhaustion of ephemeral ports: Dynamic TCP Port Range is set by default on Linux from 32768 to 61000, so more than 29K TCP connections during a short period of time ( less than 2 minutes) can reach this system limitation.
Resolution
Check if there's a Dollar Universe job or cron job that uses Dollar Universe commands that is launched multiple times(thousands times). If there is, then check to see if it is necessary or if the commands can be delayed between each other.
If it is not, you may need to stop the job.
If it is necessary, check with your system administrator on how to make ensure that the machine can handle/provide more TCP connections. On Linux, for example, you can increase the dynamic port range to avoid the issue to a higher value (21000 to 64000 for example).