I believe I have access to jakarta-watchdog, so I can
try to commit these changes.

Note that Tomcat 3.3 is using the "tomcat_32" branch of
jakarta-watchdog.  The HEAD of jakarta-watchdog appears
to have undergone some refactoring that wasn't finished
before development moved to jakarta-watchdog-4.0.

Cheers,
Larry

> -----Original Message-----
> From: Casey Lucas [mailto:[EMAIL PROTECTED]]
> Sent: Friday, May 18, 2001 12:53 AM
> To: [EMAIL PROTECTED]
> Subject: Re: bad watchdog test?
> 
> 
> 
> Craig,
> 
> As you requested... I've attached diffs for the java file and 
> for the jsp.
> Let me know if you have any questions / comments.
> 
> -casey
> 
> "Craig R. McClanahan" wrote:
> > 
> > On Thu, 17 May 2001, Casey Lucas wrote:
> > 
> > >
> > > I finally had some time last night to see why all of the 
> watchdog tests
> > > wouldn't run correctly if tag pooling was turned on.
> > >
> > > Based on my understanding of the spec I think that that 
> some of the code
> > > included in watchdog may be incorrect.  The spec says 
> that a tag handler
> > > can be used multiple times and that release() should be 
> called before the
> > > tag handler gets garbage collected.  But
> > > 
> src\server\jsp-tests\WEB-INF\classes\jsp\tags\examples\TestTag
> .java relies
> > > on release() being called after every use of the tag.
> > >
> > 
> > It wouldn't surprise me if Watchdog made some incorrect assumptions
> > here.  Tag lifecycle seems to confuse lots of people, and 
> because Tomcat
> > didn't implement pooling there wasn't an easy way to catch errors.
> > 
> > If you've got diffs to fix the assumptions, I can evaluate 
> them and check
> > them in.  If it's more complicated than that, I'll forward 
> the relevant
> > info to the folks that wrote the Watchdog tests for comment 
> and action.
> > 
> > > The code shouldn't be hard to fix for all situations 
> except the test of
> > > the release method itself.  If pooling is in use, then 
> release will
> > > only be called when the web context is unloaded or an 
> exception is thrown
> > > during tag usage.  We could modify the "release test" to 
> throw an exception
> > > during tag usage and hence cause release to be called, 
> but I'm not sure
> > > we should because the spec doesn't say anything about 
> reuse of a tag handler
> > > when an exception is thrown.  For example, I guess a 
> container would be compliant
> > > if reused a tag (and hence didn't call release) even in 
> the case of exceptions.
> > >
> > >
> > > So, my questions are:
> > >
> > > 1. Is the watchdog test I've described bad and need fixing?
> > >
> > > 2. If so, any comments on what to do with the "release test"?
> > >
> > >
> > >
> > > -casey
> > >
> > 
> > Craig
> 

Reply via email to