Pid * wrote:
>
> On 14/09/2011 11:55, Darius D. wrote:
>
> They are in *that* thread.
>
> It is possible to expose either request or response object outside of
> the scope of the thread, so a second request sees a modified version of
> the same object.
>
> E.g.
>
> public class SomeServlet extends HttpServlet {
>
> private HttpServletRequest request;
>
> protected void doGet(HttpServletRequest rq, HttpServletResponse rs) {
>
> // this is a handy value, let's store it (FAIL!)
> this.request = request;
>
> // do something...
> process(this.request);
> // finish...
>
> }
>
> }
>
>
> So a different thread entering the method causes the request object to
> be updated before the other thread has finished using it. There are
> other, more subtle, ways to cause the same effect.
>
>
> p
>
Well the problem is that we already looked for that mode of failure, our
servlet class has 0 instance variables... Basically it is a method like i
pasted before, doing HttpSession session = request.getSession(); and if
session is valid (it is!) immediately reading those params with String
action = request.getParameter("type");
Request object is perfectly valid when those params are missing ( session,
query etc are preserved, its just those params we are missing ). Error
happens in bursts in a rate of ~25 / million requests.
--
View this message in context:
http://old.nabble.com/Request-params-randomly-null-in-servlet%28s%29-tp32461421p32464563.html
Sent from the Tomcat - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]