Fixes are available
APAR status
Closed as program error.
Error description
When AUTHENTICATION on the database server is set to DATA_ENCRYPT, any data transferred between the server and the client is encrypted. It was found that, with DATA_ENCRYPT, if the communication buffer greater than 32K is used, DB2 LUW client sometimes fails to parse the query result, and returns SQL0902C. The size of the communication buffer is controlled by RQRIOBLK for remote clients and ASLHEAPSZ for local clients. Here's the error message that will appear in db2diag.log. ==== 2008-01-28-11.00.09.403732-360 I4408A699 LEVEL: Info PID : 21299528 TID : 1 PROC : db2bp INSTANCE: db2inst1 NODE : 000 APPID : *LOCAL.db2inst1.1234567890 FUNCTION: DB2 UDB, DRDA Communication Manager, sqljcReadDssContLen, probe:50 DATA #1 : String, 388 bytes CALL STACK: [0] 0x0900000000DD772C sqljrParseOpenSuccessReply__FP7 [1] 0x0900000000E5B3B4 sqljrParseOpenQueryReply__FP7UC [2] 0x0900000000E7BBD0 sqljrParse__FP7UCintfc + 0xFFFF [3] 0x0900000000F230A8 sqljrDrdaArOpen__FP7UCintfcP15d [4] 0x0900000000F73B38 csmOpen__FP7UCintfcP15db2UCCurs 2008-01-28-11.00.09.404170-360 I5108A411 LEVEL: Info PID : 21299528 TID : 1 PROC : db2bp INSTANCE: db2inst1 NODE : 000 APPID : *LOCAL.db2inst1.1234567890 FUNCTION: DB2 UDB, DRDA Application Requester, sqljrParseQryDta, probe:10 RETCODE : ZRC=0x87360009=-2026504183=SQLJC_ERROR_BEOF "DATA DOES NOT EXIST" DIA8506C Unexpected end of file was reached. 2008-01-28-11.00.09.405007-360 I5520A626 LEVEL: Info PID : 21299528 TID : 1 PROC : db2bp INSTANCE: db2inst1 NODE : 000 APPID : *LOCAL.db2inst1.1234567890 DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes sqlcaid : SQLCA sqlcabc: 136 sqlcode: -902 sqlerrml: 2 sqlerrmc: 9 sqlerrp : sqljrqry sqlerrd : (1) 0x87360009 (2) 0x00000009 (3) 0x00000000 (4) 0x00000000 (5) 0x00000000 (6) 0x00000000 sqlwarn : (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) sqlstate: ==== The LUW client in question can be CLP, CLI/ODBC or legacy JDBC (using CLI under the covers). JCC type 4 driver does not have this problem. The data in the server is never corrupted. The problem is only on the client that fails to parse the encrypted data. Any fixpak containing the fix for this problem must be applied to clients.
Local fix
If this problem occurs for a local connection, reduce the value of ASLHEAPSZ to 7. This will reduce the communication buffer size to 7*4096 bytes, which is less than 32KB. If the problem occurs for a remote connection, reduce the value of RQRIOBLK to 32767 on the client side. 32767 is the default value for RQRIOBLK, and is one byte short of 32KB. Note that changing the value on the server side does not avoid this problem. Also note that this problem is only applicable to DATA_ENCRYPT. One may choose to change AUTHENTICATION on the server side to some other value to work around it.
Problem summary
**************************************************************** * USERS AFFECTED: * * CLI/ODBC or legacy JDBC * * (using CLI under the covers) * **************************************************************** * PROBLEM DESCRIPTION: * * When AUTHENTICATION on the database server is set to * * DATA_ENCRYPT, any data transferred between the server and * * the * * client is encrypted. * * * * It was found that, with DATA_ENCRYPT, if the communication * * buffer greater than 32K is used, DB2 LUW client sometimes * * fails * * to parse the query result, and returns SQL0902C. * * * * The size of the communication buffer is controlled by * * RQRIOBLK * * for remote clients and ASLHEAPSZ for local clients. * * * * Here's the error message that will appear in db2diag.log. * * * * ==== * * 2008-01-28-11.00.09.403732-360 I4408A699 LEVEL: Info * * PID : 21299528 TID : 1 PROC : db2bp * * INSTANCE: db2inst1 NODE : 000 * * APPID : *LOCAL.db2inst1.1234567890 * * FUNCTION: DB2 UDB, DRDA Communication Manager, * * sqljcReadDssContLen, probe:50 * * DATA #1 : String, 388 bytes * * CALL STACK: * * [0] 0x0900000000DD772C sqljrParseOpenSuccessReply__FP7 * * [1] 0x0900000000E5B3B4 sqljrParseOpenQueryReply__FP7UC * * [2] 0x0900000000E7BBD0 sqljrParse__FP7UCintfc + 0xFFFF * * [3] 0x0900000000F230A8 sqljrDrdaArOpen__FP7UCintfcP15d * * [4] 0x0900000000F73B38 csmOpen__FP7UCintfcP15db2UCCurs * * * * 2008-01-28-11.00.09.404170-360 I5108A411 LEVEL: Info * * PID : 21299528 TID : 1 PROC : db2bp * * INSTANCE: db2inst1 NODE : 000 * * APPID : *LOCAL.db2inst1.1234567890 * * FUNCTION: DB2 UDB, DRDA Application Requester, * * sqljrParseQryDta, * * probe:10 * * RETCODE : ZRC=0x87360009=-2026504183=SQLJC_ERROR_BEOF "DATA * * DOES * * NOT EXIST" * * DIA8506C Unexpected end of file was reached. * * * * 2008-01-28-11.00.09.405007-360 I5520A626 LEVEL: Info * * PID : 21299528 TID : 1 PROC : db2bp * * INSTANCE: db2inst1 NODE : 000 * * APPID : *LOCAL.db2inst1.1234567890 * * DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes * * sqlcaid : SQLCA sqlcabc: 136 sqlcode: -902 sqlerrml: 2 * * sqlerrmc: 9 * * sqlerrp : sqljrqry * * sqlerrd : (1) 0x87360009 (2) 0x00000009 (3) * * 0x00000000 * * (4) 0x00000000 (5) 0x00000000 (6) * * 0x00000000 * * sqlwarn : (1) (2) (3) (4) (5) (6) * * (7) (8) (9) (10) (11) * * sqlstate: * * ==== * * * * The LUW client in question can be CLP, CLI/ODBC or legacy * * JDBC * * (using CLI under the covers). JCC type 4 driver does not * * have * * this problem. * * * * The data in the server is never corrupted. The problem is * * only * * on the client that fails to parse the encrypted data. Any * * fixpak containing the fix for this problem must be applied * * to * * clients. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 9.5 FP9 or higher * ****************************************************************
Problem conclusion
Problem First Fixed in DB2 Version 9.5 Fix Pack 9
Temporary fix
Comments
APAR Information
APAR number
LI76445
Reported component name
DB2 UDE ESE LIN
Reported component ID
5765F4104
Reported release
950
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-10-05
Closed date
2012-03-13
Last modified date
2012-04-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
DB2 UDE ESE LIN
Fixed component ID
5765F4104
Applicable component levels
R950 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEPGG","label":"DB2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"950","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Document Information
Modified date:
03 April 2012