Error calling subroutine: *DataStage*DSR.ADMIN (Action=38); check DataStage is set up correctly in project dstage1 (The connection is broken (81002))
Problem(Abstract)
Long periods of inactivity can cause DataStage client to lose connection to the remote server. DataStage client leaves the TCP/IP connection in idle state if there is no user activity and this can result in a disconnect
Diagnosing the problem
It is important to look at the time line to really understand the disconnect behavior. First step is to look at the error DataStage client reported via "view details" button once the error has occurred. Here is an example how idle disconnect might show up in the logs:
This error occurred on 18/08/2011 at 10:12 a.m. (Standard format: 2011/08/18 10:12:06)
Product Version: 8.5.0.0
Client tag: 55e4885f-76a0-40c0-9ce4-0729db967912
See log: C:\Users\dsadm8\ds_logs\dstage_wrapper_trace_3.log
Application: DSDesign.exe (PID 7501)
...
Error message:
Error calling subroutine: *DataStage*DSR.ADMIN (Action=38); check DataStage is set up correctly in project dstage1 (The connection is broken (81002))
Second step is to look at the detailed log (in this case: dstage_wrapper_trace_3.log as seen in the above error) to really understand the time line that lead to the error.
Here is the initial connection established to DataStage Server "myserver":
2011-08-16 16:21:41,899 INFO com.ibm.datastage.g11n.DataStageSessionLocale.setISFSessionLocale(DataStageSessionLocale.java:115) - Setting ISF locale to en_US
2011-08-16 16:21:42,227 INFO com.ascential.dstage.proxies.NewRepos.registerSessionDetails(NewRepos.java:850) - Session Identifier: 1A510DE0-9FAC-4BAD-BE13-00A12D1EC293
2011-08-16 16:21:42,227 INFO com.ascential.dstage.proxies.NewRepos.registerSessionDetails(NewRepos.java:851) - Logged on user: dsadm
2011-08-16 16:21:43,334 INFO com.ibm.datastage.Auditor.log(Auditor.java:101) - [AUDIT EVENT] DS_DESIGNER - Logged in: project=dstage1, domain=myserver.ibm.com:9080 (version=ISF 8.5 IS_8_5_M5_33 2251S), server=myserver
...
Here are several log entries before the disconnect error occurred:
2011-08-16 16:22:48,996 INFO com.ibm.datastage.Auditor.log(Auditor.java:101) - [AUDIT BEGIN] Compile job: name=GenerarClientesParaCargar_Paso1
2011-08-16 16:23:00,057 INFO com.ibm.datastage.Auditor.log(Auditor.java:101) - [AUDIT 00:11] OK
2011-08-18 10:12:06,261 INFO com.ibm.datastage.Auditor.log(Auditor.java:101) - [AUDIT EVENT] Close job: name=test_job_1
2011-08-18 10:12:06,573 INFO com.ibm.datastage.Auditor.log(Auditor.java:101) - [AUDIT EVENT] Logged out: project=myserver/dstage1
The connection was idle for almost two days before the user closed the job. During this two day inactivity the connection between DataStage client and server had been automatically disconnected e.g. by firewall, TCP/IP connection timeout or network outage.
Resolving the problem
Recommendation is to close DataStage jobs and disconnect DataStage clients from the server if they are not going to be used for days. This will ensure that the idle connections do not consume connections and users do not get idle timeout based disconnects.