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/06/27 20:29:52 UTC

XA usage having an impact on locking & disabling XA

Hi,
As follow
1) Can anyone provide a "yes" or "no" in response to....
....is lock contention more prevalent with XAItemStateManager?


e.g. we're seeing 100's of threads stuck in
DefaultISMLocking.acquireReadLock

2) If yes how do we force no XA mode given we don't need XA?

All help appreciated,
Regards,
Shaun


-----Original Message-----
From: sbarriba [mailto:sbarriba@yahoo.co.uk] 
Sent: 25 June 2008 11:35
To: users@jackrabbit.apache.org
Subject: RE: Locking issues with XAItemStateManager - help appreciated

Hi Claus,
Thanks for the quick response.

We're not intentionally using an XA transaction. We're using Spring +
Transaction Manager + Hibernate elsewhere to satisfy the request.

.....so a few quick questions:

* Is there a way to force JackRabbit not to use XA? What are the alternative
ItemStateManager(s)?
* Does using XA cause more locking?

Thanks in advance,
Regards,
Shaun

-----Original Message-----
From: KÖLL Claus [mailto:C.KOELL@TIROL.GV.AT] 
Sent: 25 June 2008 11:24
To: users@jackrabbit.apache.org
Subject: AW: Locking issues with XAItemStateManager - help appreciated

hi,

do you use a xa transaction ?
take a look @ https://issues.apache.org/jira/browse/JCR-1334
i see in your stack that the lock comes from acquireReadLock()
this was also in my issue
feel free do test the PatchedDefaultISMLocking.java by Marcel

BR,
claus

-----Ursprüngliche Nachricht-----
Von: sbarriba [mailto:sbarriba@yahoo.co.uk] 
Gesendet: Mittwoch, 25. Juni 2008 12:16
An: users@jackrabbit.apache.org
Betreff: Locking issues with XAItemStateManager - help appreciated

Hi all,

As follow up to a previous thread we're seeing lots and lots of contention
around the following lock. We're using Weblogic 9.1 / JRocket 27.4.0 (1.5).

 

Even with very little load on the app a thread dump shows active threads at
exactly this point. As the concurrent load increases the contention
increases until the app is continually thrashing on these locks and stops
responding.

 

Is there a way to configure JackRabbit to reduce the amount of locking?

For example, I note the use of XAItemStateManager in the stack - is there an
alternative ItemStateManager implementation which requires less locking?

 

All help appreciated.

 

Regards,

Shaun

 

 

"[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default
(self-tuning)'" id=133 idx=0x20c tid=6426 prio=5 alive, in native, daemon

    at jrockit/vm/Locks.monitorEnterUnmatched(Ljava/lang/Object;)V(Native
Method)

    at
EDU/oswego/cs/dl/util/concurrent/WriterPreferenceReadWriteLock$ReaderLock...a
c
quire()V(Unknown Source)

    at
org/apache/jackrabbit/core/state/DefaultISMLocking$ReadLockImpl.<init>(Defau
ltISMLocking.java:103)

    at
org/apache/jackrabbit/core/state/DefaultISMLocking$ReadLockImpl.<init>(Defau
ltISMLocking.java:97)

    at
org/apache/jackrabbit/core/state/DefaultISMLocking.acquireReadLock(DefaultIS
MLocking.java:65)

    at
org/apache/jackrabbit/core/state/SharedItemStateManager.acquireReadLock(Shar
edItemStateManager.java:1438)[inlined]

    at
org/apache/jackrabbit/core/state/SharedItemStateManager.getItemState(SharedI
temStateManager.java:237)[optimized]

    at
org/apache/jackrabbit/core/state/LocalItemStateManager.getPropertyState(Loca
lItemStateManager.java:118)[inlined]

    at
org/apache/jackrabbit/core/state/LocalItemStateManager.getItemState(LocalIte
mStateManager.java:150)[inlined]

    at
org/apache/jackrabbit/core/state/XAItemStateManager.getItemState(XAItemState
Manager.java:226)[optimized]

    ^-- Holding lock:
org/apache/jackrabbit/core/state/XAItemStateManager@0x3ea1ae88[thin lock]

    at
org/apache/jackrabbit/core/state/SessionItemStateManager.getItemState(Sessio
nItemStateManager.java:175)[optimized]

    at
org/apache/jackrabbit/core/ItemManager.createItemInstance(ItemManager.java:5
64)[inlined]

    at
org/apache/jackrabbit/core/ItemManager.getItem(ItemManager.java:395)[inlined
]

    at
org/apache/jackrabbit/core/LazyItemIterator.prefetchNext(LazyItemIterator...j
a
va:90)[inlined]

    at
org/apache/jackrabbit/core/LazyItemIterator.next(LazyItemIterator.java:203)[
optimized]

    ^-- Holding lock: org/apache/jackrabbit/core/ItemManager@0x3ea1a4c0[thin
lock]

 




Re: XA usage having an impact on locking & disabling X

Posted by Alexander Klimetschek <ak...@day.com>.
Hi!

On Fri, Jun 27, 2008 at 2:29 PM, sbarriba <sb...@yahoo.co.uk> wrote:
> 2) If yes how do we force no XA mode given we don't need XA?

Configure spring differently so that it does not use transactions for
Jackrabbit.

Regards,
Alex

-- 
Alexander Klimetschek
alexander.klimetschek@day.com