jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hugo Lassi├Ęge (JIRA) <j...@apache.org>
Subject [jira] Commented: (JCR-2679) Lock Problem when accessing JCR
Date Wed, 04 Aug 2010 15:17:20 GMT

    [ https://issues.apache.org/jira/browse/JCR-2679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12895290#action_12895290
] 

Hugo Lassi├Ęge commented on JCR-2679:
------------------------------------

In my previous comment, I didn't ran into a deadlock. 

I reused the following test : 

http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/ConcurrentNodeModificationTest.java?revision=789279&view=co&pathrev=932318

And I get some unexpected exceptions. However I didn't get any deadlock but I'm not in the
same use case (no application server, no transaction)


The deadlock is only observed in the thread dump attached :

Thread: ajp-0.0.0.0-8119-33 : priority:5, demon:true, threadId:2858, threadState:BLOCKED,
lockName:org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager@1c390b8
org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.exists(AbstractBundlePersistenceManager.java:474)
org.apache.jackrabbit.core.state.SharedItemStateManager.hasNonVirtualItemState(SharedItemStateManager.java:1409)



The exists method is synchronized and we have "ConnectionRecoveryManager.reestablishConnection"
which is waiting and that could block the other threads. Do you know why this method could
freeze ? Do you suspect a lock in the database ? 


> Lock Problem when accessing JCR
> -------------------------------
>
>                 Key: JCR-2679
>                 URL: https://issues.apache.org/jira/browse/JCR-2679
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 1.5.3, 1.6.2
>         Environment: JBOSS 4.2.3 on jre 1.5.0_15 with XA transactions and Oracle10g
>            Reporter: Laurent Prevosto
>            Priority: Critical
>         Attachments: repository-prod.xml, thread_dump.txt, workspace.xml
>
>
> Hi,
> We're using Jackrabbit 1.6.2 as an internal CMS in an application we developped.
> It runs in JBOSS 4.2.3 on jre 1.5.0_15 with XA transactions and Oracle10g
> We have about 15 users adding / deleting files in the repository.
> 30 others just do read only CMS access and other stuff.
> Things work fine except that sometimes, suddenly everything gets stuck and all we have
left is those kind of errors :
> [org.apache.jackrabbit.core.query.lucene.NodeIteratorImpl] : Exception retrieving Node
with UUID : XXXXXXX-XXX-etc: javax.jcr.ItemNotFoundException: XXXXXXX-XXX-etc
> All our JCR connections are now dead. If we restart JBOSS, things get back to normal,
until the next crash.
> It looks like the bug usually happens when this kind of sequence takes place (though
that may not be the only one) :
> XA transaction begins
> filenode1 gets deleted
> filenode2 gets deleted
> other oracle stuff takes place... and fails
> XA rollbacks.
> => JCR is dead.
> At that point, "touching" the datasource has it reinitialised by JBOSS but unfortunately
the lock is still there : JBOSS has to be restarted.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message