tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Reich, Matthias" <matthias.re...@siemens.com>
Subject RE: Web application receives request parameters sent to another application on Tomcat 6
Date Wed, 30 May 2007 12:04:00 GMT
With some additional logging I found out that my problem is most
probably not related to the mixed request parameters.
It is a problem of synchronizing the decisions of whether to recycle
Request/Response objects and whether to recycle the processor.

I'll send more details in another mail with topic 'Comet: Unsufficiently
synchronized recycling decisions'.

Regards,
Matthias

> -----Original Message-----
> From: Reich, Matthias 
> Sent: Tuesday, May 29, 2007 10:54 AM
> To: 'Tomcat Users List'
> Subject: RE: Web application receives request parameters sent 
> to another application on Tomcat 6
> 
> Hi,
> 
> I am experiencing a behavior that may be related to the 
> mentioned problem.
> 
> My Servlet uses the Comet interfaces of Tomcat 6.
> For debugging purposes, when my Servlet receives a BEGIN 
> event, it stores a request counter in an atttribute of the 
> HttpServletRequest object.
> (This is done to see in the logs to which request a 
> subsequent READ, END or ERROR event is related.)
> 
> Before setting the attribute, the servlet checks whether the 
> attribute is already set:
> 
> if (event.getEventType() == CometEvent.EventType.BEGIN)
> {
>      HttpServletRequest request = event.getHttpServletRequest( );
>      Long index = (Long) request.getAttribute(INDEX_ATTRIBUTE);
>      if (index == null)
>      {
>          index = nextRequestIndex(); 
>          request.setAttribute(INDEX_ATTRIBUTE, index);
>          requestCount++;
>      }
>      else
>      {
>          myLogger.warn("Found old request attribute ("
>          + index + ") in BEGIN event!");
>      }
>      ...
> 
> When running tests where several requests are processed at 
> the same time, I occasionally see the log message appear.
> 
> It looks as if sometimes recycling of a request object is not 
> yet completed when the object is already reused for a new request.
> I cannot tell if a similar behavior occurs in my tests also 
> for request parameters because my tests don't pay much 
> attention on the parameters.
> 
> The 'old attributes' problem occurs as well with the APR 
> connector as with the NIO connector, and I guess that also 
> the 'wrong request parameters' problem only occurs with these 
> two connectors, as they are prepared to handle Comet requests 
> and therefore have a modified request processing (compared to 
> the Http11Processor) also for 'regular' servlet requests.
> 
> What connector are you using with Tomcat 6?
> 
> If it is the APR connector (i.e. if you have the tcnative-1 
> library in your library path), you could try if the problem 
> disappears when you switch to the Http11Protocol.
> 
> 
> Matthias
> 
> 
> > -----Original Message-----
> > From: Dejan Krsmanovic [mailto:dejan.krsmanovic@gmail.com] 
> > Sent: Tuesday, May 29, 2007 8:13 AM
> > To: Tomcat Users List
> > Subject: Re: Web application receives request parameters sent 
> > to another application on Tomcat 6
> > 
> > I am aware of that. We are printing request parameters inside 
> > Servlet's
> > doPost method.
> > 
> > Dejan
> > 
> > Len Popp wrote:
> > > It is possible that Tomcat resuses request objects. I'm 
> not sure it
> > > does, but it might. For that reason, you're only allowed 
> to use the
> > > request object in your servlet's doGet or doPost method, you can't
> > > stash it somewhere (e.g. in the HttpSession) and access it later.
> > > (This is mentioned in the servlet spec.) Of course I don't know if
> > > that's your problem, it's just something that came to mind.
> > 
> > 
> > 
> ---------------------------------------------------------------------
> > To start a new topic, e-mail: users@tomcat.apache.org
> > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: users-help@tomcat.apache.org
> > 
> > 

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message