Saturday, 6 July 2013

ADMN0034E: SocketTimeoutException -- Solution

Rapid Deploy deployments timing out when deploying large web apps, with the following error:

Caused by:ADMN0034E: The service is unable to obtain a valid administrative client to connect process "nodeagent" from process "dmgr", because of exception:ConnectorException: java.net.SocketTimeoutException: Async

Solution:


Perform the following steps to prepare the WebSphere Application Server Deployment Manager:
  1. Use the following URL to launch the network deployment administrative console:http://dmgr_hostname:9060/ibm/console, where dmgr_hostname is the fully qualified host name for the WebSphere Application Server Network Deployment.
  2. Log into the deployment manager administrative console.
  3. Increase the HTTP connection timeouts for the deployment manager.
    Note: See HTTP transport channel custom properties for additional information.
    1. Click System Administration Deployment Manager > Web container transport chains.
    2. Increase the timeout values. For the WCInboundAdmin and WCInboundAdminSecureentries listed in the web container transport chains section, complete the following steps to increase the timeout values:
      1. Click HTTP Inbound Channel.
      2. Change the Read timeout value to 0.
      3. Change the Write timeout value to 0.
      4. Save the configuration changes.
  4. Change the timeout request period for the Java Management Extensions (JMX) connector.
    1. Click System administration > Deployment Manager > Administration Services > JMX connectors > SOAPConnector > Custom Properties.
    2. Select the requestTimeout property, and increase the value from 600 to 6000.
    3. Save the configuration changes.
  5. Update the maximum Java heap size used by the deployment manager:
    1. Update the heap size in the following two locations:
      • Click System administration > Deployment manager > Java and Process Management > Process Definition > Control > Java Virtual Machine.
      • Click System administration > Deployment manager > Java and Process Management > Process Definition > Servant > Java Virtual Machine.
    2. Set the jvm max size to 1024
    3. Click OK and then save your changes.
  6. Change the timeout request period for the Simple Object Access Protocol (SOAP) client. Open a UNIX System Services (USS) command prompt. Edit the soap.client.props file, located in theDmgr_profile/properties directory:
    Change the line to: com.ibm.SOAP.requestTimeout=0.
    Note: If you are instructed to open a properties file, please note that the files are ascii files and should be open using the appropriate tool.
  7. Stop and restart the deployment manager: