Intermittent APPC concersation failures. Pls help -Reply

John Bucaria

Intermittent APPC concersation failures. Pls help -Reply
Hello Mike,

I've seen this error when a client application executes some SQL and then does some other (non-DB2) processing for a period of time sufficient to reach the idle thread timeout limit. When the client application returns to execute more SQL, it assumes the thread to DB2 is still connected but it has timed out. The result is the connection errors you describe.

>>> [login to unmask email] 01/01/01 11:18am >>>
Hello everyone,

We are having a strange problem.... A client application (SQR at Win NT
client) intermittently fails with following message:

>>>> SQL Error Message Description <<<<<
SQL Status = *****, SQL Error = [IBM][CLI Driver][DB2] SQL30081N
A communication error has been detected. Communication protocol being
used: "APPC". Communication API being used: "CPI-C". Location where the
error was detected: "USWXYZ01.PS43LU02". Communication function detecting
the error: "cmrcv". Protocol specific error code(s): "20", "*", "*".
SQLSTATE=08001

It does not fail at same point in execution every time.... rather at
differnt points(usually after executing about 120K-140K of sql resuests).

Failing statement is an INSERT statement.

Relaese levels are:
OS/390: V2R6
DB2 on OS/390: 5.1
DB2 Client on NT: 5.2 with FixPack 9
MS SNA Server: V3 with Service Pack 2

Following Error messages are captured from different sources

>>>> OS/390 DB2 MASTER ADDRESS SPACE Error Message Description <<<<<

DSNL500I -TDB2 CONVERSATION FAILED 995
TO LOCATION <PS43LU6P>
RESOURCE=PS43LU6P.MODEPS43.03000122.F0000000000058A0
RTNCD=00 FDBK2=0B RCPRI=0048 RCSEC=0000 SENSE=00000000

>>>>> VTAM Error Message From OS/390 LOG <<<<<<<<<<<<<<
IST663I BFINIT REQUEST FROM CDRMBPU4 FAILED, SENSE=08970015 994
IST664I REAL OLU=USWXYZ01.PS44LU6P REAL DLU=USWXYZ01.LUTDB2
IST889I SID = C7576E27B5CB0A3D
IST314I END

>>>> Win NT Event Log Error Message Description <<<<<
Event ID: 92
Time: 12/31/00 at 7:37:17PM
User: XYZ1234
Source: SNA Application

APPC TP detected abend of SNA subsystem

TP_ID = 0000000008181500
Conv_ID = 0016FB08

EXPLANATION
A connection was lost or has been broken between an APPC TP,
the local APPC LU it was using, and the local node.
The connection failure is reported to the TP with a return
code of AP_COMM_SUBSYSTEM_ABENDED.

ACTION
Check for failure indications in the event log and follow the
recommended actions.

>>>> DDCS Trace Message <<<<<

5231 DB2 fnc_data gateway_drda_ar sqljcrecv (1.35.10.81)
pid 317; tid 306; node 0; cpid 0; time 14100645; trace_point 181

COMMUNICATIONS ERROR RECEIVING

RECEIVE FUNCTION RC = 54
SEVERITY = 8
PROTOCOL USED = APPC
API USED = CPI-C
FUNCTION = cmrcv
HOST ID = USWXYZ01.PS43LU02
CPI-C RETURN CODE = 20
ERRNO = *
INTERNAL RETURN CODE = *


>>>>>>>>>> DB2 CLI Trace Records on Winnt Client <<<<<<<<<<<<
SQLBindParameter( )
<--- SQL_SUCCESS Time elapsed - +1.000000E-002 seconds

SQLExecute( hStmt=1:24 )
---> Time elapsed - +1.000000E-002 seconds
( iPar=1, fCType=SQL_C_CHAR, rgbValue="HEALTHTRN", pcbValue=9,
piIndicatorPtr=9 )
( iPar=2, fCType=SQL_C_DOUBLE, rgbValue=0.00000000000000e+000, pcbValue=8,
piIndicatorPtr=8 )
( iPar=3, fCType=SQL_C_CHAR, rgbValue="O", pcbValue=1, piIndicatorPtr=1 )
( iPar=4, fCType=SQL_C_CHAR, rgbValue="22694 ", pcbValue=11,
piIndicatorPtr=11 )
( iPar=5, fCType=SQL_C_CHAR, rgbValue="01", pcbValue=2, piIndicatorPtr=2 )
( iPar=6, fCType=SQL_C_CHAR, rgbValue="Patricia", pcbValue=8,
piIndicatorPtr=8 )
( iPar=7, fCType=SQL_C_CHAR, rgbValue=" ", pcbValue=1, piIndicatorPtr=1 )
( iPar=8, fCType=SQL_C_CHAR, rgbValue="Breault", pcbValue=7,
piIndicatorPtr=7 )
......... input parameters ommited ....
( iPar=49, fCType=SQL_C_CHAR, rgbValue="new", pcbValue=3, piIndicatorPtr=3 )
sqlccsend( ulBytes - 850 )
sqlccsend( Handle - 48286656 )
sqlccsend( ) - rc - 0, time elapsed - +0.000000E+000
sqlccrecv( )
sqlccrecv( ulBytes - 0 ) - rc - 54, time elapsed - +1.884700E+001

SQLExecute( )
<--- SQL_ERROR Time elapsed - +1.917800E+001 seconds

SQLGetDiagField( fHandleType=SQL_HANDLE_STMT, hHandle=1:24, iRecNumber=1,
fDiagIdentifier=SQL_DIAG_SQLSTATE, pDiagInfo=&10b2650, cbDiagInfoMax=12,
pcbDiagInfo=&12ef4c )
---> Time elapsed - +0.000000E+000 seconds

SQLGetDiagField( pDiagInfo="40003", pcbDiagInfo=5 )
<--- SQL_SUCCESS Time elapsed - +1.000000E-002 seconds

SQLGetDiagField( fHandleType=SQL_HANDLE_STMT, hHandle=1:24, iRecNumber=2,
fDiagIdentifier=SQL_DIAG_SQLSTATE, pDiagInfo=&10b2650, cbDiagInfoMax=12,
pcbDiagInfo=&12ef4c )
---> Time elapsed - +1.000000E-002 seconds

SQLGetDiagField( )
<--- SQL_NO_DATA_FOUND Time elapsed - +1.000000E-002 seconds

SQLGetDiagRec( fHandleType=SQL_HANDLE_STMT, hHandle=1:24, iRecNumber=1,
pszSqlState=&12eca8, pfNativeError=&12f1ac, pszErrorMsg=&10bd860,
cbErrorMsgMax=512, pcbErrorMsg=&12f1a6 )
---> Time elapsed - +0.000000E+000 seconds

SQLGetDiagRec( pszSqlState="40003", pfNativeError=-30081, pszErrorMsg="[IBM]
[CLI Driver][DB2] SQL30081N A communication error has been detected.
Communication protocol being used: "APPC". Communication API being
used: "CPI-C". Location where the error was
detected: "USWXYZ01.PS43LU02". Communication function detecting the
error: "cmrcv". Protocol specific error code(s): "20", "*", "*".
SQLSTATE=08001

", pcbErrorMsg=341 )
<--- SQL_SUCCESS Time elapsed - +2.000000E-002 seconds

SQLGetDiagRec( fHandleType=SQL_HANDLE_STMT, hHandle=1:24, iRecNumber=2,
pszSqlState=&12eca8, pfNativeError=&12f1ac, pszErrorMsg=&10bd860,
cbErrorMsgMax=512, pcbErrorMsg=&12f1a6 )
---> Time elapsed - +0.000000E+000 seconds

SQLGetDiagRec( )
<--- SQL_NO_DATA_FOUND Time elapsed - +1.000000E-002 seconds






Mike Drummond

Re: Intermittent APPC concersation failures. Pls help -Reply
(in response to John Bucaria)
Thanks John for your reply. Isn't IDTHTOIN the timeout parameter? We have
set it to Zero. So connection timeout should not occur,Correct?

Does it have anything to do with Microsoft SNA Server? Pattern has been
DRDA send is issued to DB2 and DRDA Receive gets this error, with the SNA
message saying 'TP_SUBSYSTEM_ABENDED' on DB2 client side.