IBM Support

JR29617: JCC DRIVER PROPERTY DOWNGRADEHOLDCURSORSUNDERXA=TRUE CLOSING CURSOR FOR XA LOCAL TRANSACTIONS RESULTING IN -4470

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Setting the JCC property downgradeHoldCursorsUnderXA=true is
    closing the cursor for XA local transactions.  This would result
    in the message "Invalid operation: result set is closed.
    ERRORCODE=-4470, SQLSTATE=null".
    
    One scenario where -4470 would be returned is when the
    application is working with multiple resultsets.
    
    1) Application obtains an XA connection and sets:
       downgradeHoldCursorsUnderXA=true
       resultsetholdability=1 (HOLD_CURSORS_OVER_COMMIT)
    
    2) Open a held cursor C1 with large number of rows that starts a
       local transaction
    3) Read one row from it.
    4) Open another held cursor C2 with small number of rows.
    5) Read all the rows from C2 ---> This will cause the COMMIT to
       flow which ends the local transaction started by C1.
    6) Read another row from C1 ---> This makes the driver to start
       a new local transaction and since
       downgradeHoldCursorsUnderXA=true
       is set we close all the cursors open on that connection
       before reading the next row, thus causing it to fail with
       -4470 result set is closed.
    
    Note this APAR has no effect for XA global transactions.
    

Local fix

  • Use JCC T2 driver by specifying a JDBC URL with no hostname or
    IP address such as "jdbc:db2:sample" where sample is the name of
    the database.
    

Problem summary

  • See PROBLEM DESCRIPTION.
    

Problem conclusion

  • Problem was first fixed in JCC driver included with v9.5 FP1.
    At minium this fix should be applied on the client side.
    

Temporary fix

  • See LOCAL FIX.
    

Comments

APAR Information

  • APAR number

    JR29617

  • Reported component name

    DB2 UDB ESE WIN

  • Reported component ID

    5765F4101

  • Reported release

    950

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-06-19

  • Closed date

    2009-03-05

  • Last modified date

    2009-03-05

  • 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 UDB ESE WIN

  • Fixed component ID

    5765F4101

Applicable component levels

  • R810 PSN

       UP

  • R820 PSN

       UP

  • R910 PSN

       UP

  • R950 PSN

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 950

Reference #: JR29617

Modified date: 05 March 2009