Uhm... Silly question. Why so many prepared statements?
-----Original Message----- From: John Embretsen [mailto:[EMAIL PROTECTED] Sent: Monday, January 30, 2006 4:13 AM To: Derby Discussion Subject: Re: OutOfMemoryErrors when testing Derby with DOTS Saturday, January 28, 2006, 1:11:31 AM CET, Ramandeep Kaur wrote: > Hi, > > As per Stan's mail about prepared statements, I checked the source > code for DOTS test case that John ran (ATCJ2.java) to see if prepared > statements are getting closed properly. I found that there are > few methods in ATCJ2.java where prepared statements are not getting closed. > > The following methods have prepared statements:- > doBid() > doPut() > doUpdateItem() > > The following should be added to the catch blocks of above methods. > pstmt.close(); > pstmt = null; > > > With the above, in case there is any exception, the prepared > statements will get closed properly. > > > In addition, in doBid() method, > pstmt.close(); and pstmt = null; should be added right after the following block. > > pstmt = conn.prepareStatement(updateBidItemSQL + "'" + itemID + "'"); > pstmt.setFloat(1,bidPrice); > pstmt.setInt(2,bidCount++); > updateCount = pstmt.executeUpdate(); > DotsConfig.UPDATECOUNT++; > > Now with patch DERBY-210, there may not be any need to modify DOTS > code as all garbage collection will be taken care, but in case you > still see problems even after applying patch DERBY-210, you might want > to give a try to modify the ATCJ2.java. Thanks for pointing this out. I will do some DOTS testing using the current trunk and the patch for DERBY-210. I doubt _all_ garbage collection will be taken care of with the patch for DERBY-210 (although I'm sure it helps a lot), but we just have to wait and see how it goes... I will start experimenting with the DOTS source code later, including your suggested changes, if the DERBY-210 patch does not resolve the issue. > Also, please increase heap size while running Network Server as well. Sure, but there are limits to how much a Derby user is able to increase the heap size. Currently (with Derby 10.1.2.1), it seems to me that it is just a matter of time until the Network Server JVM runs out of memory, when running the DOTS test(s). Thanks, -- John
