Ok, but the point is that this change broke existing tests in main
but not in 2.4 where the change was originally made. You seem
to be experiencing another side-effect of the change as the
org.jboss.test.cts.test.BmpUnitTestCase failures are SQL exceptions
regarding the fact that the connection has been closed. Both
issues need to be resolved.

----- Original Message -----
From: "David Maplesden" <[EMAIL PROTECTED]>
To: "JBossDev (E-mail)" <[EMAIL PROTECTED]>
Sent: Thursday, November 29, 2001 1:44 PM
Subject: RE: [JBoss-dev] NPE when using DefaultDS


> Yes, it was Doug's change that allowed the bug to surface, but on the face
> of it Doug's change seems a valid one to me, when a managed connection is
> being deleted from a pool the underlying connection should be closed.  I
> think Doug's change is just showing up some bad handling of the situation
> that was going unnoticed previously.
>
> The problem is being caused by the fact that when the underlying
connection
> is closed the client still has a reference to the connection wrapper, and
> calling createStatement on this results in a null pointer exception rather
> than an SQL exception.
>
> Of course the other question I was looking for an answer to is why is the
> connection being closed when a statement throws an exception?  Does it
need
> to be?
>
> I think there are two things here to fix.
>
> David.
>
> > -----Original Message-----
> > From: Scott M Stark [mailto:[EMAIL PROTECTED]]
> > Sent: Friday, November 30, 2001 10:41 AM
> > To: JBossDev (E-mail)
> > Subject: Re: [JBoss-dev] NPE when using DefaultDS
> >
> >
> > 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/ManagedC
> > onnectionPoolF
> > 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
> > >
> >
> > ---
> > 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

Reply via email to