From users-return-18925-apmail-jackrabbit-users-archive=jackrabbit.apache.org@jackrabbit.apache.org Tue Jun 5 21:38:43 2012 Return-Path: X-Original-To: apmail-jackrabbit-users-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1594B9D32 for ; Tue, 5 Jun 2012 21:38:43 +0000 (UTC) Received: (qmail 18856 invoked by uid 500); 5 Jun 2012 21:38:42 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 18774 invoked by uid 500); 5 Jun 2012 21:38:42 -0000 Mailing-List: contact users-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@jackrabbit.apache.org Delivered-To: mailing list users@jackrabbit.apache.org Delivered-To: moderator for users@jackrabbit.apache.org Received: (qmail 5510 invoked by uid 99); 5 Jun 2012 12:57:35 -0000 X-ASF-Spam-Status: No, hits=0.7 required=5.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: 194.1.211.22 is neither permitted nor denied by domain of nicklas.lof@bredband.net) From: =?iso-8859-1?Q?Nicklas_L=F6f?= Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: FineGrainedISMLocking problems Date: Tue, 5 Jun 2012 14:57:04 +0200 Message-Id: To: users@jackrabbit.apache.org Mime-Version: 1.0 (Apple Message framework v1257) X-Mailer: Apple Mail (2.1257) X-Virus-Checked: Checked by ClamAV on apache.org Hello. In our application, that are using Jackrabbit 2.4.1 with Mysql = persistence driver, we do have a quite massive setup with a large number = of nodes splitted into a large amount of different folders. A few operations requires lot of operations on these nodes (for example = moving/copying nodes between different folders) and also importing from = external sources which is generating lots of writes of newly created = nodes. During these operations other things are slowing down a lot and I have = been looking into this and found out that one of the problems is the = locking mechanism in the DefaultISMLocking provider. So yesterday I did = change our test environment to use the FineGrainedISMLocking provider = instead. After the change the other operations done while those heavy operations = are running did perform a lot better. I still got threads getting = blocked waiting for locks but overall the performance in general become = better. Now to the problem. Sometimes the heavy operations fails and I wonder if = there is any known issues with the FineGrainedISMLocking. I have = searched JIRA and the mailing list but haven't really found any similar = problems. The two errors I have seen most are these two exceptions: ERROR Unable to initialize workspace 'default' javax.jcr.RepositoryException: Unable to aquire read lock. at = org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(Reposit= oryImpl.java:1979) at = org.apache.jackrabbit.core.RepositoryImpl.getWorkspaceInfo(RepositoryImpl.= java:684) at = org.apache.jackrabbit.core.RepositoryImpl.getObservationDispatcher(Reposit= oryImpl.java:820) at = org.apache.jackrabbit.core.WorkspaceManager.getObservationDispatcher(Works= paceManager.java:93) at = org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:= 244) at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91) at = org.apache.jackrabbit.core.NodeImpl.addNodeWithUuid(NodeImpl.java:1776) at = org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1736) =85=85=85=85=85=85=85=85=85... Caused by: java.lang.InterruptedException at = EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$ReaderLock.= acquire(Unknown Source) at = org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(Reposit= oryImpl.java:1977) ... 78 more and: javax.jcr.RepositoryException: Unable to update item: item.save() at = org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation.jav= a:265) at = org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:= 216) at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91) at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:329) at = org.apache.jackrabbit.core.session.SessionSaveOperation.perform(SessionSav= eOperation.java:64) at = org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:= 216) at = org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:361) at = org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:812) =85=85=85=85=85=85=85... Caused by: org.apache.jackrabbit.core.state.ItemStateException: = Interrupted while acquiring write lock at = org.apache.jackrabbit.core.state.SharedItemStateManager.acquireWriteLock(S= haredItemStateManager.java:1855) at = org.apache.jackrabbit.core.state.SharedItemStateManager.access$200(SharedI= temStateManager.java:112) at = org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(Share= dItemStateManager.java:568) at = org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(Shared= ItemStateManager.java:1462) at = org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemS= tateManager.java:1492) at = org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSta= teManager.java:400) at = org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateMana= ger.java:354) at = org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSta= teManager.java:375) at = org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionIte= mStateManager.java:275) at = org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation.jav= a:258) ... 66 more =20 /Nicklas