DB2 - Problem description
Problem IC77293 | Status: Closed |
EXECUTEBATCH() FAILS AFTER A CLIENT REROUTE | |
product: | |
DB2 CONNECT / DB2CONNCT / 970 - DB2 | |
Problem 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 | |
Problem Summary: | |
Fixed in IBM Data server driver for JDBC& SQLJ for DB2 on LUW V9.7 Fix Pack 7. | |
Local Fix: | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows | |
Solution | |
Upgrade IBM Data server driver for JDBC& SQLJ for DB2 on LUW V9.7 Fix Pack 7 or above. | |
Workaround | |
not known / see Local fix | |
BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC77895 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 01.07.2011 04.04.2014 04.04.2014 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP7 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.5 |