IBM Support

IC77293: EXECUTEBATCH() FAILS AFTER A CLIENT REROUTE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The JCC driver retries a batch statement if all the following
    conditions are met when the client re-route kicked in
    - the connection is not in a transaction , the failure occurs
    when the first SQL statement in the transaction is executed.
    - there are no open, held cursors after commit
    - there is no input stream associated with the prepared
    statement
    
    Even if all the previous conditions are met, the JCC driver
    doesn't retry the batch statement after a client re-route.
    Instead, you will see in your JCC traces, an error message like
    the following :
    [jcc][t4]
    [time:2011-04-30-11:50:52.617][Thread:Application_Thread[impl:3]
    _1][tracepoint:400]Client Re-route to client affinities
    server[0]: HOST1 - 5036
    [jcc][t4]
    [time:2011-04-30-11:50:52.617][Thread:Application_Thread[impl:3]
    _1][tracepoint:100]Client Re-route: Trying connection to HOST1
    at port 5036
    ....
    [jcc] BEGIN TRACE_DIAGNOSTICS
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@74205d55
    ] java.sql.SQLException
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@74205d55
    ] SQL state  = 08506
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@74205d55
    ] Error code = -4498
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@74205d55
    ] Message    = [jcc][t4][2027][11212][3.61.75] A connection
    failed but has been re-established. The host name or IP address
    is "HOST1" and the service name or port number is 5,036.
    Special registers may or may not be re-attempted (Reason code =
    2). ERRORCODE=-4498, SQLSTATE=08506
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@74205d55
    ] Stack trace follows
    com.ibm.db2.jcc.am.ClientRerouteException:
    [jcc][t4][2027][11212][3.61.75] A connection failed but has been
    re-established. The host name or IP address is "HOST1" and the
    service name or port number is 5,036.
    Special registers may or may not be re-attempted (Reason code =
    2). ERRORCODE=-4498, SQLSTATE=08506
     at com.ibm.db2.jcc.am.ed.a(ed.java:304)
        at com.ibm.db2.jcc.am.ed.a(ed.java:356)
        at com.ibm.db2.jcc.t4.a.a(a.java:476)
        at com.ibm.db2.jcc.t4.a.L(a.java:1039)
        at com.ibm.db2.jcc.t4.a.a(a.java:913)
        at com.ibm.db2.jcc.t4.z.b(z.java:231)
        at com.ibm.db2.jcc.t4.z.c(z.java:259)
        at com.ibm.db2.jcc.t4.z.c(z.java:372)
        at com.ibm.db2.jcc.t4.z.v(z.java:1147)
        at com.ibm.db2.jcc.t4.cb.a(cb.java:60)
        at com.ibm.db2.jcc.t4.q.a(q.java:50)
        at com.ibm.db2.jcc.t4.sb.b(sb.java:228)
        at com.ibm.db2.jcc.am.hn.mc(hn.java:2924)
        at com.ibm.db2.jcc.am.hn.a(hn.java:4929)
        at com.ibm.db2.jcc.am.hn.a(hn.java:4271)
        at com.ibm.db2.jcc.am.hn.c(hn.java:4130)
        at com.ibm.db2.jcc.t4.l.c(l.java:78)
        at com.ibm.db2.jcc.am.hn.executeBatch(hn.java:2447)
    ....
    [jcc] BEGIN TRACE_DIAGNOSTICS
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@78cfb302
    ] java.sql.SQLException
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@78cfb302
    ] SQL state  = null
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@78cfb302
    ] Error code = -4225
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@78cfb302
    ] Message    = [jcc][t4][103][10843][3.61.75] Non-recoverable
    chain-breaking exception occurred during batch processing.  The
    batch is terminated non-atomically. ERRORCODE=-4225,
    SQLSTATE=null
    [jcc][Thread:Application_Thread[impl:3]_1][SQLException@78cfb302
    ] Stack trace follows
    com.ibm.db2.jcc.am.SqlException: [jcc][t4][103][10843][3.61.75]
    Non-recoverable chain-breaking exception occurred during batch
    processing.  The batch is terminated non-atomically.
    ERRORCODE=-4225, SQLSTATE=null
        at com.ibm.db2.jcc.am.ed.a(ed.java:660)
        at com.ibm.db2.jcc.am.ed.a(ed.java:60)
        at com.ibm.db2.jcc.am.ed.a(ed.java:120)
        at com.ibm.db2.jcc.am.hn.a(hn.java:4310)
        at com.ibm.db2.jcc.am.hn.c(hn.java:4130)
        at com.ibm.db2.jcc.t4.l.c(l.java:78)
        at com.ibm.db2.jcc.am.hn.executeBatch(hn.java:2447)
    ....
    [jcc] END TRACE_DIAGNOSTICS
    [jcc] BEGIN TRACE_DIAGNOSTICS
    [jcc][Thread:Application_Thread[impl:3]_1][BatchUpdateException@
    bf18645] java.sql.BatchUpdateException
    [jcc][Thread:Application_Thread[impl:3]_1][BatchUpdateException@
    bf18645] SQL state  = null
    [jcc][Thread:Application_Thread[impl:3]_1][BatchUpdateException@
    bf18645] Error code = -4229
    [jcc][Thread:Application_Thread[impl:3]_1][BatchUpdateException@
    bf18645] Message    = [jcc][t4][102][10040][3.61.75] Batch
    failure.  The batch was submitted, but at least one exception
    occurred on an individual member of the batch.
    Use getNextException() to retrieve the exceptions for specific
    batched elements. ERRORCODE=-4229, SQLSTATE=null
    [jcc][Thread:Application_Thread[impl:3]_1][BatchUpdateException@
    bf18645] Update counts = { -3, -3 }
    [jcc][Thread:Application_Thread[impl:3]_1][BatchUpdateException@
    bf18645] Stack trace follows
    com.ibm.db2.jcc.am.BatchUpdateException:
    [jcc][t4][102][10040][3.61.75] Batch failure.  The batch was
    submitted, but at least one exception occurred on an individual
    member of the batch.
    Use getNextException() to retrieve the exceptions for specific
    batched elements. ERRORCODE=-4229, SQLSTATE=null
        at com.ibm.db2.jcc.am.ed.a(ed.java:404)
        at com.ibm.db2.jcc.am.o.a(o.java:365)
        at com.ibm.db2.jcc.am.hn.a(hn.java:4347)
        at com.ibm.db2.jcc.am.hn.c(hn.java:4130)
        at com.ibm.db2.jcc.t4.l.c(l.java:78)
        at com.ibm.db2.jcc.am.hn.executeBatch(hn.java:2447)
    ....
    [jcc] END TRACE_DIAGNOSTICS
    

Local fix

Problem summary

  • Fixed in IBM Data server driver for JDBC& SQLJ for DB2 on LUW
    V9.7 Fix Pack 7.
    

Problem conclusion

  • Upgrade IBM Data server driver for JDBC& SQLJ for DB2 on LUW
    V9.7 Fix Pack 7 or above.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC77293

  • Reported component name

    DB2 CONNECT

  • Reported component ID

    DB2CONNCT

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-07-01

  • Closed date

    2014-04-04

  • Last modified date

    2014-04-04

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

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

    IC77895

Fix information

  • Fixed component name

    DB2 CONNECT

  • Fixed component ID

    DB2CONNCT

Applicable component levels

  • R970 PSY

       UP

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M"},"Platform":[{"code":"PF054","label":"z\/OS"}],"Version":"9.7"}]

Document Information

Modified date:
18 September 2021