You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by sbarriba <sb...@yahoo.co.uk> on 2008/01/17 16:08:05 UTC

Performance issue due to blocking on Oracle9PersistenceManager

Hi all,

Under a reasonable load we're seeing lots (100's per day) of occurrences of
the following exception. This appears to be due to the synchronised nature
of the "exists" method.

Any recommendations on how to avoid this significant bottleneck with
JackRabbit?

 

We're using Weblogic 9.2 with Oracle 10g and JackRabbit 1.3.3

Regards,

Shaun

 

 

[INFO ][memory ] 13538.467: parallel nursery GC 728349K->697949K (1048576K),
67.195 ms

####<17-Jan-2008 14:25:25 o'clock GMT> <Info> <WebLogicServer> <app06>
<mpnode002> <[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default
(self-tuning)'> <<WLS Kernel>> <> <> <1200579925273> <BEA-000339> <[STUCK]
ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' has
become "unstuck".>

[INFO ][memory ] 13556.811: parallel nursery GC 898912K->868512K (1048576K),
64.047 ms

[INFO ][memory ] 13568.463: parallel nursery GC 898912K->868512K (1048576K),
74.459 ms

[INFO ][memory ] 13581.480: parallel nursery GC 898912K->868512K (1048576K),
98.672 ms

[INFO ][memory ] 13586.724: parallel nursery GC 899424K->869024K (1048576K),
107.516 ms

<17-Jan-2008 14:26:10 o'clock GMT> <Error> <WebLogicServer> <BEA-000337>
<[STUCK] ExecuteThread: '10' for queue: 'weblogic.kernel.Default
(self-tuning)' has been busy for "146" seconds working on the request "Http
Request: /acme/view.m", which is more than the configured time
(StuckThreadMaxTime) of "30" seconds. Stack trace:

Thread-258 "[STUCK] ExecuteThread: '10' for queue: 'weblogic.kernel.Default
(self-tuning)'" <alive, in native, suspended, blocked, priority=1, DAEMON> {

    -- Blocked trying to get lock:
org.apache.jackrabbit.core.persistence.bundle.Oracle9PersistenceManager@8aa2
1d[fat lock]

 
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManag
er.exists(AbstractBundlePersistenceManager.java:477)

 
org.apache.jackrabbit.core.state.SharedItemStateManager.hasNonVirtualItemSta
te(SharedItemStateManager.java:1096)

 
org.apache.jackrabbit.core.state.SharedItemStateManager.hasItemState(SharedI
temStateManager.java:272)

 
org.apache.jackrabbit.core.state.LocalItemStateManager.hasItemState(LocalIte
mStateManager.java:166)

 
org.apache.jackrabbit.core.state.XAItemStateManager.hasItemState(XAItemState
Manager.java:238)

 
org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(Sessio
nItemStateManager.java:157)

 
org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:4
93)

    org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:313)

 
org.apache.jackrabbit.core.LazyItemIterator.prefetchNext(LazyItemIterator.ja
va:86)

 
org.apache.jackrabbit.core.LazyItemIterator.next(LazyItemIterator.java:198)

    ^-- Holding lock: org.apache.jackrabbit.core.ItemManager@6ccf48[thin
lock]