PQ89351: SYBASE EXCEPTIONS JZ006, JZ0C0 & JZ0C1 ARE NOT MAPPED TO STALECONNECTIONEXCEPTION ON CLOSING THE PREPAREDSTATEMENT OBJECT

 A fix is available

Obtain the fix for this APAR



APAR status
Closed as program error.

Error description
Application closes the CallableStatement object and gets
Sybase Exceptions:
  - java.sql.SQLException: JZ006: Caught IOException:
    com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0:
    Connection is already closed.
and nested exception:
  - java.sql.SQLException: JZ0C1: An IOException occurred which
    closed the connection.
These exceptions are not mapped to StaleConnectionException
which prevents application from recovering.
.
Excerpt of the stack trace:
  java.sql.SQLException: JZ006: Caught IOException:
  com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0:
  Connection is already closed.
   at
  com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead(ErrorMe
  ssage.java(Compiled Code))
   at com.sybase.jdbc2.tds.Tds.cancel(Tds.java(Compiled Code))
   at com.sybase.jdbc2.tds.Tds.cancel(Tds.java(Inlined Compiled
  Code))
   at

  com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java(
  Compiled Code))
   at
  com.sybase.jdbc2.jdbc.SybStatement.close(SybStatement.java(Com
  piled Code))
   at
  com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.closeWrapper
  (WSJdbcPreparedStatement.java:253)
   at
  com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement.closeWrapper
  (WSJdbcCallableStatement.java:149)
   at
  com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java
  :127)
  ...
  ...
  ---- Begin backtrace for Nested Throwables
  java.sql.SQLException: JZ0C1: An IOException occurred which
  closed the connection.
   at
  com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead(ErrorMe
  ssage.java(Compiled Code))
   at com.sybase.jdbc2.tds.Tds.cancel(Tds.java(Compiled Code))
   at com.sybase.jdbc2.tds.Tds.cancel(Tds.java(Inlined Compiled
  Code))
   at
  com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java(
  Compiled Code))
   at
  com.sybase.jdbc2.jdbc.SybStatement.close(SybStatement.java(Com
  piled Code))
   at
  com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.closeWrapper
  (WSJdbcPreparedStatement.java:253)
   at
  com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement.closeWrapper
  (WSJdbcCallableStatement.java:149)
   at
  com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java
  :127)
  ...
  ...
The only way for the application to recover is restarting
WebSphere Application Server.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: All users of WebSphere Application Server    *
*                 V5.0 for z/OS                                *
****************************************************************
* PROBLEM DESCRIPTION: Sybase Exceptions JZ006, JZ0C0 and      *
*                      JZ0C1 are not getting mapped to a       *
*                      StaleConnectionException when a         *
*                      PreparedStatement is closed, causing    *
*                      applications to improperly recover.     *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
Sybase Exceptions JZ006, JZ0C0 and JZ0C1 all indicate a Stale
Connection, but they are not being properly mapped and thrown to
the application as a StaleConnectionException when they occur
during the close of a PreparedStatement.  It is common for
applications to code special recovery paths for the case of a
StaleConnectionException, so applications that are coded to do
this will not behave correctly when the above Sybase Exceptions
occur.  In addition, WebSphere will not properly purge the
Stale Connection from the Connection Pool.
Problem conclusion
This problem has been fixed by providing the fix for WebSphere
Application Server for Distributed APAR 
PQ85291 which modified
the WSJdbcPreparedStatement class to properly map Sybase
Exceptions JZ006, JZ0C0 and JZ0C1 to a StaleConnectionException.

APAR PQ89351 is associated with SERVICE LEVEL W502011 of
WebSphere Application Server V5.0 for z/OS.
Temporary fix Comments
APAR information
APAR number PQ89351
Reported component name WEBSPHERE FOR Z
Reported component ID 5655I3500
Reported release 500
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2004-05-25
Closed date 2004-06-16
Last modified date 2007-08-21

APAR is sysrouted FROM one or more of the following:
PQ85291

APAR is sysrouted TO one or more of the following:
PQ89448

Modules/Macros
BBOUBINF          

Publications Referenced

Fix information
Fixed component name WEBSPHERE FOR Z
Fixed component ID 5655I3500

Applicable component levels
R500 PSY UQ89659    UP04/06/22 P F406

  Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.


Document Information


Current web document: swg1PQ89351.html
Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server for z/OS
Operating system(s):
Software version: 500
Software edition:
Reference #: PQ89351
IBM Group: Software Group
Modified date: Aug 21, 2007