Hi,

On 01.10.2010 08:51, Ian Boston wrote:
> 
> On 1 Oct 2010, at 07:23, Felix Meschberger wrote:
> 
>> Hi,
>>
>> On 30.09.2010 19:10, Ian Boston wrote:
>>>
>>> On 30 Sep 2010, at 17:16, Ian Boston wrote:
>>>
>>>>
>>>> On 30 Sep 2010, at 16:50, Ian Boston wrote:
>>>>
>>>>> Looking in the code most of those methods are synchronised, which feels 
>>>>> wrong as it will make the server single threaded to read, write I can 
>>>>> understand, but not read. I thought Jackrabbit was multithreaded on read?
>>>>> Do you know the reasoning behind this ?
>>>>
>>>> Hang on, isn't the ItemManagerImpl bound to session ? (there is a session 
>>>> property there)
>>>
>>> Wearing sack cloth and ashes at the moment, if I take Sling OOTB with no 
>>> modifications YourKit reports no thread synchronization issues associated 
>>> with request processing.
>>>
>>> The largest cause of blocking on a monitor is in the classloader itself, 
>>> with 50 threads running for the past 20 minutes flat out I am seeing 76K 
>>> instances of a block in the classloader all from a Class.forName(...) 
>>> inside the HttpServlet presumably syncing on the classloader.
>>
>> Class.forName() should probably not be used. This is known for behaving
>> badly in OSGi context. See BJ Hargrave's blog searching for
>> "classloading" entries, particularly probably
>> http://blog.bjhargrave.com/2007/09/classforname-caches-defined-class-in.html.
>>
>> Is this in your code or Sling ?
> 
> Inside the javax.servlet.HttpServlet code, probably part of Jetty/PAX, 
> AFAICT, I am not certain I believe the stack trace is complete from YourKit 
> (might have holes in it)

Wow! I know see ... They have the javax.servlet.HttpServlet.class
mechanism --- and we have it, too, in the SlingAllMethodsServlet ....

Should we (for the SlingAllMethodsServlet) do something about it ?

Regards
Felix

> 
> 
> 
>>
>> Regards
>> Felix
>>
>>>
>>> ItemManager has blocked, but only 161 times, 
>>>
>>> So my problems are caused by something I have done outside Sling in my own 
>>> code, almost certainly related to sharing a Session between threads. 
>>> Sorry for causing alarm (if I did).
>>>
>>> Ian
>>>
>>>>
>>>> Which means that a session is being shared between threads, making it 
>>>> block threads ?
>>>> Does that make sense ?
>>>> Ian
>>>>
>>>>
>>>
>>>
> 
> 

Reply via email to