Sam, Thanks very much... usually for sectionalized changes I prefer the full java file anyway. Were you working from the 2.0a3 release of 2.0a4? I only ask since I haven't had a chance to check the JDBC code against 2.0a4, so I don't want to test your code and realize the problems are from the Avalon upgrade.
Work is settling down to some extent, so I'm looking forward to a few productive hours on James this weekend... this'll be near the top of the list for me. -- Serge Knystautas Loki Technologies - Unstoppable Websites http://www.lokitech.com Samuel Sadek wrote: > Hi all, > > I have resolved the issue of the dreaded dangling open cursor db > connections to the database repository. There were several exception > clauses where there are no check made towards open cursor statement and > general connections at all. I have quickly done a clean sweep of all > JDBC-SQL code for James and have ensured these checks were placed to > immediately close thus returning connections to the pool as I'd expect. > > I quickly tested the AbstractJdbcUsersRepository.java class with the > patch and have found, by monitoring my oracle db open cursors in the > system (see http://www.orafaq.com/error/ora-01000.htm for further > details) were being closed correctly as opposed to leaving them unclosed. > > Can I ask everyone to retest the attached patches and provide me > feedback if these dangling connections are being closed as a result. > > Thanks, > > Serge, Dan > > Can you please check-in the attached java classes were the fixes have > been made into CVS repository as I do not currently have a CVS client to > be able to do so. > > Thanks, > > Sam. > > >> From: "Labib Iskander, Marcus" <[EMAIL PROTECTED]> >> Reply-To: "James Users List" <[EMAIL PROTECTED]> >> To: 'James Users List' <[EMAIL PROTECTED]>, "James-Dev >> (E-Mail)" <[EMAIL PROTECTED]> >> Subject: RE: max db connection problem >> Date: Fri, 31 May 2002 18:48:18 +0200 >> >> Hi all, >> I think I know where the bug is: >> everytime getUserByName() is called a new PreparedStatement is created >> but >> since the Connection is pooled and not really closed these get not >> collected >> fast enough. Every PreparedStatement Object has a SQL cursor in the >> Oracle >> session bound to the connection. Thus the max number of open cursors is >> exceeded. >> In lightweigt DBs like MySql PreparedStatements don't consume Server >> resources, but an Oracle PreparedStatement is optimized to be called >> repeatedly. These should be closed explicitly or pooled with the >> connection >> (what is not trivial). >> >> Cheers, >> Marcus >> >> > -----Original Message----- >> > From: Samuel Sadek [mailto:[EMAIL PROTECTED]] >> > Sent: Friday, May 31, 2002 6:09 PM >> > To: [EMAIL PROTECTED] >> > Subject: max db connection problem >> > >> > >> > Hi all, >> > >> > I have been testing James to see how it handles multiple db >> > connections to >> > my user mail db repository. Apparently, after 10-20 >> > simultaneous connections >> > made to James, it apparently goes into an infinite loop and >> > resources are >> > fully consumed as a result. I have set the <max>0</max> >> > parameter to 0 to >> > handle an unlimited amount of simultaneous connections. I >> > thought that the >> > last patch made helped eradicate this problem but it >> > apparently it has not. >> > >> > I also submit the stack trace: -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
