DB2 - Problembeschreibung
Problem IC69344 | Status: Geschlossen |
JCC DRIVER HANGS IN INFINITE LOOP | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problembeschreibung: | |
An application using the JDBC/JCC driver will hang when calling the streaming methods: PreparedStatement.getCharacterStream(int, Reader) OR PreparedStatement.setCharacterStream(int, Reader, -1) A javacore from the hanging application may be similar to the function stack below: java.lang.Thread.State: RUNNABLE at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544) at com.ibm.db2.jcc.t4.ib.a(ib.java:257) at com.ibm.db2.jcc.t4.lb.a(lb.java:1635) at com.ibm.db2.jcc.t4.lb.a(lb.java:181) at com.ibm.db2.jcc.t4.vb.a(vb.java:175) This issue is not affected by CPU load and occurs when streaming is used for large CLOBs. For example if MY_DATA was a string longer than 16,390 characters this issue can be easily reproduced. private static String MY_DATA; PreparedStatement.setCharacterStream(2, new StringReader(MY_DATA)); | |
Problem-Zusammenfassung: | |
See ERROR DESCRIPTION. | |
Local-Fix: | |
Use PreparedStatement.setCharacterStream(int, Read, length) or PreparedStatement.getCharacterStream(int, Read, length) which specifies the length of the data. | |
verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows | |
Lösung | |
At minimum Java application should upgrade to the JDBC/JCC driver included with v9.7 Fixpack 3. | |
Workaround | |
See LOCAL FIX. | |
Bug-Verfolgung | |
Vorgänger : APAR is sysrouted TO one or more of the following: IC69458 Nachfolger : | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 18.06.2010 04.10.2010 25.07.2011 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.FP3 | |
Problem behoben lt. FixList in der Version | |
9.7.0.3 | |
9.7.0.3 |