I can't comment to the exact meaning of the warning, but I can say the impact 
of reading from multiple threads with one session is a significant concern in 
itself given the current implementation of Oak.  Under high throughput 
conditions the lock contention quickly becomes a significant performance 
bottleneck.

-Rob

-----Original Message-----
From: Alexander Klimetschek [mailto:[email protected]] 
Sent: Tuesday, April 08, 2014 6:20 PM
To: [email protected]
Subject: Session concurrency warning

Hi,

if I get this warning below, does "another thread is concurrently writing" mean 
that the other threads is using session WRITE methods?

Or could it happen just because a session was shared between two threads, one 
only READing from the session, the other writing.

*WARN* org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate Attempt to 
perform Adding node [....] while another thread is concurrently writing to 
session-3831. Blocking until the other thread is finished using this session. 
Please review your code to avoid concurrent use of a session.
java.lang.Exception: Stack trace of concurrent access to session-3831
        at 
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:269)
        at 
org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:113)
        at 
org.apache.jackrabbit.oak.jcr.session.NodeImpl.addNode(NodeImpl.java:253)


Cheers,
Alex

Reply via email to