RE: Serious OutOfMemory issue while reading with mysql-connector-j-5.0.7 ...
"Robert DiFalco" <[email protected]> Fri, 24 Aug 2007 09:30:51 -0700
| Newsgroups | gmane.comp.db.mysql.java |
|---|---|
| Message-ID | <[email protected]> |
Have you tried it with: useServerPrepStmts=true useCursorFetch=true ? -----Original Message----- From: Paul Palaszewski [mailto:[email protected]] Sent: Thursday, August 23, 2007 2:32 AM To: [email protected] Subject: Serious OutOfMemory issue while reading with mysql-connector-j-5.0.7 ... Hi! Yesterday I was supprised to get an out of memory exception when reading a big table rec by rec without any caching. The program died in stmt.executeQuery(), long before I can do anything with the records. I've tried different connection options and debugged connector/j ... every time code runs into MysqlIO.readAllResults which can not work, if the table has more records than available in the jvm. More interesting - also server side prepared statements run into that readAll-routine? Tested with connector-j-5.0.3 + 5.0.7, mysql db 5.0.41 + some older 5.0 on windows. C:\Test\src>javac -cp ..\..\lib\jdbc\mysql-connector-java-5.0.7-bin.jar MySQLRead.java C:\Test\src>java -cp ..\..\lib\jdbc\mysql-connector-java-5.0.7-bin.jar;. MySQLRead Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at com.mysql.jdbc.Buffer.getBytes(Buffer.java:198) at com.mysql.jdbc.Buffer.readLenByteArray(Buffer.java:318) at com.mysql.jdbc.MysqlIO.extractNativeEncodedColumn(MysqlIO.java:3567) at com.mysql.jdbc.MysqlIO.unpackBinaryResultSetRow(MysqlIO.java:3483) at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1391) at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2369) at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:451) at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2076) at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1451) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1314) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:740) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1448) at MySQLRead.main(MySQLRead.java:23) Regards Paul -- -- _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ _/ _/ BDM Business Data Management GmbH _/ _/ Firmenbuch: FN 242059w _/ Gerichtsstand: Landesgericht Wiener Neustadt _/ UID: ATU57685758 _/ _/ Grenzgasse 111, Objekt 9/4 _/ 2340 Mödling _/ Tel,Fax: +43 2236 46 393 _/ _/ Ing. Paul Palaszewski, (Hons) B.Sc. _/ Geschäftsführer _/ Mobil: +43(650) 37 36 030 _/ E-Mail: [email protected] _/ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ -- MySQL Java Mailing List For list archives: http://lists.mysql.com/java To unsubscribe: http://lists.mysql.com/[email protected]