On 12/30/06, Peter Coppens <[EMAIL PROTECTED]> wrote:

I am gathering more evidence that this is related to a session expiring on
one hand and a request being processed for that same session.

I have been debugging the tomcat code a bit, and I have the *impression*
that the expiration handling is not thread safe. It seems possible at first
sight that the background processor decides a session is expired while at
the same time another thread starts a request for that same session.

I will try to debug a bit more and if I find more I will let you know.

The question is whether the next request get the "right" session again
or not. I had the impression from your first post, that this is the
case:
Request A - Session 1
Request B - Session 2 <-- which is wrong
Request C - Session 1 again.

I observed this behaviour 3 years ago on a resin 2.1.x, but had not
enough time to debug it.

regards
Leon

Thanks,

Peter

PS What does "O/T" mean ?

Off Topic



Martin Gainty wrote:
>
> Agreed
> Once you have your use cases and test cases identified
>
> If you want the server to maintain its own side of the relationship
> independent of client activity then you should consider container managed
> persistence
> More info avaialable at
> http://www.javaworld.com/javaworld/jw-08-2006/jw-0828-persistence.html?page=6
>
> Feel free to contact me offline as this is definitely O/T
> Martin--
> ---------------------------------------------------------------------------
> This e-mail message (including attachments, if any) is intended for the
> use of the individual or entity to which it is addressed and may contain
> information that is privileged, proprietary , confidential and exempt from
> disclosure. If you are not the intended recipient, you are notified that
> any dissemination, distribution or copying of this communication is
> strictly prohibited.
> ---------------------------------------------------------------------------
> Le présent message électronique (y compris les pièces qui y sont annexées,
> le cas échéant) s'adresse au destinataire indiqué et peut contenir des
> renseignements de caractère privé ou confidentiel. Si vous n'êtes pas le
> destinataire de ce document, nous vous signalons qu'il est strictement
> interdit de le diffuser, de le distribuer ou de le reproduire.
> ----- Original Message -----
> From: "Leon Rosenberg" <[EMAIL PROTECTED]>
> To: "Tomcat Users List" <users@tomcat.apache.org>
> Sent: Friday, December 29, 2006 6:31 AM
> Subject: Re: session#getId changes during doGet invocation under heavy
> load
>
>
>> Do I understand it right, that you made it a reproduceable testcase?
>> If so, can we have a look on it?
>>
>> thank you
>> Leon
>>
>> On 12/29/06, Peter Coppens <[EMAIL PROTECTED]> wrote:
>>>
>>> Thanks Chuck.
>>>
>>> I have done some further research and I have the impression that there
>>> is
>>> some kind of race condition where a session that is being removed
>>> because of
>>> a timeout is also handling requests.
>>>
>>> The loggings indicate that a session is destroyed but then nevertheless
>>> a
>>> doGet is invoked with a request parameter that refers to that timed out
>>> session.
>>>
>>> If I crank up the timeout, seriously reducing the chances a session
>>> times
>>> out before it has completed all the client requests it is supposed to
>>> handle
>>> during the test, the problem does no longer occur.
>>>
>>> I am not sure where that leaves me. I am still uncertain as to what the
>>> servlet is doing wrong.
>>>
>>> Would you (or anyone else) have any other comments on this?
>>>
>>> Thanks,
>>>
>>> Peter
>>>
>>>
>>>
>>> Caldarale, Charles R wrote:
>>> >
>>> >> From: Peter Coppens [mailto:[EMAIL PROTECTED]
>>> >> Subject: session#getId changes during doGet invocation under
>>> >> heavy load
>>> >>
>>> >> THe problem I run into is that, under heavy load, during the
>>> >> doGet invocation for the login request the session attached
>>> >> to the request is changed by some other thread (the value
>>> >> returned from getId changes and attributes that are originally
>>> >> set are removed).
>>> >
>>> > This is most likely an application problem - storing session- or
>>> > request-specific data in an inappropriately scoped structure (e.g., a
>>> > servlet field).  Under light load, this won't hurt, since the
>>> insertion
>>> > and retrieval for a given request don't overlap any other requests.
>>> As
>>> > the load increases, so does the probability of an overlap and
>>> erroneous
>>> > retrieval of data for another request.
>>> >
>>> >  - Chuck
>>> >
>>> >
>>> > THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE
>>> PROPRIETARY
>>> > MATERIAL and is thus for use only by the intended recipient. If you
>>> > received this in error, please contact the sender and delete the
>>> e-mail
>>> > and its attachments from all computers.
>>> >
>>> > ---------------------------------------------------------------------
>>> > To start a new topic, e-mail: users@tomcat.apache.org
>>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> > For additional commands, e-mail: [EMAIL PROTECTED]
>>> >
>>> >
>>> >
>>>
>>> --
>>> View this message in context:
>>> 
http://www.nabble.com/session-getId-changes-during-doGet-invocation-under-heavy-load-tf2892448.html#a8085181
>>> Sent from the Tomcat - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail: users@tomcat.apache.org
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>

--
View this message in context: 
http://www.nabble.com/session-getId-changes-during-doGet-invocation-under-heavy-load-tf2892448.html#a8097754
Sent from the Tomcat - User mailing list archive at Nabble.com.


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



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

Reply via email to