The destroy logic was just changed by thedug, so the validity of the changes needs to be justified. I would suggest backing out the change since it seemed to be an unthinking merge from a 2.4 change that may have no relevance to the 3.0 codebase. There were two changes to jbosscx/src/main/org/jboss/resource/connectionmanager/ManagedConnectionPoolF actory.java
This needs to be rolled back to version 1.2 to undo the changes. ----- Original Message ----- From: "David Maplesden" <[EMAIL PROTECTED]> To: "JBossDev (E-mail)" <[EMAIL PROTECTED]> Sent: Thursday, November 29, 2001 12:57 PM Subject: RE: [JBoss-dev] NPE when using DefaultDS > Ok, I have done some investigation into this and I think I am understanding > the problem, I'm just not too sure of the best solution. I would appreciate > the opinion of someone who has worked with this code before. > > The problem is that when a statement obtained from a given jdbc connection > throws a SQL exception the connection (through a rather convoluted series of > method calls) is being closed. If the client program then tries to create > another statement using the same connection a null pointer exception results > because the underlying connection is returning a null, having been closed > already. > > Whether this (the connection returning null instead of throwing another SQL > excpetion, which is what you would expect from a closed connection) is what > should happen or not is kinda beside the point, it is what is happening, and > it is happening because our resource and pooling code decides to destroy the > connection when a statement from the connection throws an error. > > So I guess my question is why do we do this? Is there some convention with > jdbc I am unaware of that suggests a connection should become unusuable > after a statement obtained from that connection throws an error? Or is > there some other good reason we are doing this? If so I can change the code > so that any attempted use of the connection in this situation will result in > a SQL exception rather than a NPE. > > If there is no particular reason we are doing this then I will (try) to > change the code so we don't do this! > > Guidence from someone who is familiar with this code would be appreciated, > else I am going to bang on by myself and can't guarantee the results :-) > > Thanks > David. > > > -----Original Message----- > > From: Peter Fagerlund [mailto:[EMAIL PROTECTED]] > > Sent: Wednesday, November 28, 2001 12:40 PM > > To: David Maplesden; JBossDev (E-mail) > > Subject: Re: [JBoss-dev] NPE when using DefaultDS > > > > > > While pooking around i found and : > > > > Uncommented body of deleteObject(pooledObject) - line 71 of > > > > org/jboss/resource/connectionmanager.ManagedConnectionPoolFactory.java > > > > (it seems this is called when the pool shrinks or is shut down. > > some test -is shrinking the pool to [0/0/10] and as a effect > > the next test > > using the DefaultDS do not have a connection ? ... it should > > probably create > > one before trying to create a table ? ...) > > > > *** > > > > Now when running run-testsuite I have 169 tests running and 1 error > > 99.41% Success rate - heh ... > > > > So the xa test is failing above - We knew that - and > > disabeling it should > > render a cool 100% of the 169 tests ! ... > > > > /peter_f > > > > on 1-11-26 22.54, David Maplesden at > > [EMAIL PROTECTED] wrote: > > > > > I have been experiencing a NPE when calling createStatement > > on a connection > > > obtained from DefaultDS. > > > > > > java.lang.NullPointerException > > > at > > > > > org.jboss.resource.adapter.jdbc.local.StatementInPool.<init>(S > > tatementInPool > > > .java:35) > > > at > > > > > org.jboss.resource.adapter.jdbc.local.ConnectionInPool.createS > > tatement(Conne > > > ctionInPool.java:606) > > > > > > This doesn't always occur and I have only noticed it in the > > last week or so, > > > previously it worked fine. > > > > > > It occurs after a previous statement throws an > > SQLException. In other words > > > if you are using the connections from DefaultDS everything > > is fine until one > > > of your SQL queries causes an SQL exception. After this > > point you get a NPE > > > every time you try to create another statement from a connection for > > > DefaultDS. > > > > > > I think (though I don't know for sure) that it has been > > caused by a change > > > to the Object pool code made last week sometime. > > > > > > I hope someone out there can help. > > > > > > Thanks > > > David. > > > > > > > > > --- > > > Outgoing mail is certified Virus Free. > > > Checked by AVG anti-virus system (http://www.grisoft.com). > > > Version: 6.0.298 / Virus Database: 161 - Release Date: 11/13/2001 > > > > > > > > > _______________________________________________ > > > Jboss-development mailing list > > > [EMAIL PROTECTED] > > > https://lists.sourceforge.net/lists/listinfo/jboss-development > > > > > > _______________________________________________ > > Jboss-development mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/jboss-development > > > > --- > > Incoming mail is certified Virus Free. > > Checked by AVG anti-virus system (http://www.grisoft.com). > > Version: 6.0.298 / Virus Database: 161 - Release Date: 11/13/2001 > > > > > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.298 / Virus Database: 161 - Release Date: 11/13/2001 > > > _______________________________________________ > Jboss-development mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development > _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development