IBM Support

DDM/DRDA QIBM_DRDADDM_CNN_TIMEOUT Environment Variable

Troubleshooting


Problem

CPD3E34 DDM TCP/IP communications error occurred on poll() - Poll event received in the JOBLOG of a job that is attempting to establish a DDM or DRDA connection.

Symptom

CPD3E34 DDM TCP/IP communications error occurred on poll() - Poll event received in the job log of a job that is attempting to establish a DDM or DRDA connection.

Cause

The error occurs when TCP/IP SYN packets are sent from the source IBM i, but a response is never received.

Environment

Applications making DDM or DRDA connections.

Diagnosing The Problem

The following message can be returned in a DDM or DRDA connection after 180 seconds (3 minutes):
CPD3E34    Diagnostic              40   08/31/23  16:53:43.670111  QRWXDLL      QSYS        *STMT    QRWXDLL     QSYS
                                     From module . . . . . . . . :   QRWXDLL                                         
                                     From procedure  . . . . . . :   SndCPD3Exx__FPV7QRWERCBiPi                      
                                     Statement . . . . . . . . . :   30                                              
                                     To module . . . . . . . . . :   QRWXDLL                                         
                                     To procedure  . . . . . . . :   SndCPD3Exx__FPV7QRWERCBiPi                      
                                     Statement . . . . . . . . . :   30                                              
                                     Message . . . . :   DDM TCP/IP communications error occurred on getsockname()   
                                       - Get sock name.                                                              
                                     Cause . . . . . :   Error code (errno) 3447 was received while processing the   
                                       getsockname() - Get sock name function for DRDA/DDM TCP/IP communications.    
                                       Recovery  . . . :   See any previously listed message(s) to determine the     
                                       cause of the error; if necessary, correct the error and issue the request     
                                       again.                                                                        
The above example was taken from a v7r4m0 system. The same error, but on poll(), may occur on earlier releases.

The error occurs when TCP/IP SYN packets are sent from the source IBM i, but a response is never received. If this condition lasts longer than the DDM connect() time, the connection will fail and a CPD3E34 error is received.

Resolving The Problem

Undocumented environment Variable QIBM_DRDADDM_CNN_TIMEOUT allows modification of the poll() timeout value. This environment variable specifies the amount of time in seconds to that poll() is to wait before returning. If the value of timeout is 0, poll() will return immediately. If the value of timeout is -1, poll() will block until a requested event occurs or until the call is interrupted. Any value less than -1 will return a CPE3021.

On a v730 system, the default timeout value for poll() is 5 seconds.
At v740, the default value was changed to 180 seconds.

It is suggested to add QIBM_DRDADDM_CNN_TIMEOUT as a system (*SYS) environment variable, so that it will be set for all jobs using DDM/DRDA.

Syntax:
ADDENVVAR ENVVAR('QIBM_DRDADDM_CNN_TIMEOUT') VALUE(10) LEVEL(*SYS)
The recommended value is 10 (10 seconds).

Restart the job to pick up the change to the *SYS level environment variable.

With QIBM_DRDADDM_CNN_TIMEOUT set, TCP/IP will poll for the specified time before CPD3E34 is posted to the job log.

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CRKAA2","label":"Data Access-\u003EDDM DRDA"}],"ARM Case Number":"TS013955926","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]

Document Information

Modified date:
19 September 2023

UID

nas8N1019970