-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chuck,

Caldarale, Charles R wrote:
>> From: JiaDong Huang [mailto:[EMAIL PROTECTED] 
>> Subject: RE: Multi processor issue
>>
>> Not sure if the app really cares which thread should do the 
>> parameterMap initialization.
> 
> You're missing the entire point of this exercise: no Request object
> should EVER be processed by more than one thread.  No synchronization
> changes are needed within Tomcat.  The most likely cause of the problem
> is code in the app itself exposing a Request object at the session or
> context level (e.g., storing it as a session attribute), thereby causing
> a thread working on a second, separate request to grab the wrong Request
> object.

Slightly off-topic, there was a bug filed against the session manager
where a "session use" counter was being used in a non-threadsafe way
(and /really/ needed to be synchronized). The objection to
synchronization was based solely on performance (and a stubborn TC dev).

It occurs to be that TC could benefit from having a somewhat more
"layerable" configuration for these sorts of things. For instance, if TC
components could be decorated at any point in their initialization, one
would easily write a synchronized wrapper for the Request object and
wrap every request in that (via some configuration facility).

In that case, the OP could wrap their own request objects to actually
prevent their bug in production while researching it in dev/test,
instead of having to do little hacks like modifying processor affinities
and other things like that which only minimize the problem instead of
actually eliminating it.

Do you think any of the TC devs would be into anything like that? I
realize that a change like that would probably represent a drastic
re-factoring process, but it might be worth it for a number of components.

- -chris

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFgCE09CaO5/Lv0PARAnnXAJ90ttXElvNyhRVw2CkNRbDsc5q5nQCgr50g
U0hwJEKKmhh1UeCSeSzYiGo=
=qzbh
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
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