Hi Dominique, I am glad I could help.
Dnia środa, 21 lutego 2007 10:57, Dominique Pfister napisał: > Hi Rafał, > > just wanted to let you know that I could fix the problem you reported > (and some other problems as well!) thanks to the test classes you > provided: > > https://issues.apache.org/jira/browse/JCR-756 > > Your input was indeed very helpful to track down this issue, thanks again! > > Kind regards > Dominique > > On 2/19/07, Rafał Kwiecień <[EMAIL PROTECTED]> wrote: > > Hi > > > > I try to use cluster feature. I run two very simple applications. The > > first application create nodes. The second application delete nodes. If I > > run them separately, works fine. But if I run them simultaneously, > > sometimes I get exceptions like this: > > > > Remove.java: > > > > 19-lut-2007 11:05:58 ERROR [lusterNode] Unexpected error while preparing > > log entry. > > java.lang.NullPointerException > > at > > org.apache.jackrabbit.core.cluster.FileRevision.unlock(FileRevision.java: > >117) at > > org.apache.jackrabbit.core.cluster.FileJournal.prepare(FileJournal.java:6 > >49) at > > org.apache.jackrabbit.core.cluster.ClusterNode.updatePrepared(ClusterNode > >.java:401) at org.apache.jackrabbit.core.cluster.ClusterNode.access$000 > > (ClusterNode.java:40) > > at > > org.apache.jackrabbit.core.cluster.ClusterNode$WorkspaceUpdateChannel.upd > >atePrepared(ClusterNode.java:559) at > > org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(Shar > >edItemStateManager.java:647) at > > org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(Share > >dItemStateManager.java:778) at > > org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItem > >StateManager.java:808) at > > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSt > >ateManager.java:326) at > > org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateMan > >ager.java:313) at > > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSt > >ateManager.java:302) at > > org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionIt > >emStateManager.java:295) at > > org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1204) at > > org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:821) at > > Remove.remove(Remove.java:36) > > at Remove.main(Remove.java:12) > > 19-lut-2007 11:05:58 ERROR [lusterNode] Unexpected error while committing > > log entry. > > java.lang.NullPointerException > > at > > org.apache.jackrabbit.core.cluster.FileJournal.commit(FileJournal.java:66 > >0) at > > org.apache.jackrabbit.core.cluster.ClusterNode.updateCommitted(ClusterNod > >e.java:425) at > > org.apache.jackrabbit.core.cluster.ClusterNode$WorkspaceUpdateChannel.upd > >ateCommitted(ClusterNode.java:566) at > > org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(Shared > >ItemStateManager.java:712) at > > org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItem > >StateManager.java:808) at > > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSt > >ateManager.java:326) at > > org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateMan > >ager.java:313) at > > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSt > >ateManager.java:302) at > > org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionIt > >emStateManager.java:295) at > > org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1204) at > > org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:821) at > > Remove.remove(Remove.java:36) > > at Remove.main(Remove.java:12) > > 19-lut-2007 11:05:59 ERROR [Dispatcher] Synchronous EventConsumer threw > > exception. > > java.lang.NullPointerException > > at > > org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDoc(NodeIndexer > >.java:141) at > > org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDocument(NodeIn > >dexer.java:115) at > > org.apache.jackrabbit.core.query.lucene.SearchIndex.createDocument(Search > >Index.java:475) at > > org.apache.jackrabbit.core.query.lucene.SearchIndex$2.next(SearchIndex.ja > >va:318) at > > org.apache.jackrabbit.core.query.lucene.MultiIndex.update(MultiIndex.java > >:321) at > > org.apache.jackrabbit.core.query.lucene.SearchIndex.updateNodes(SearchInd > >ex.java:306) at > > org.apache.jackrabbit.core.SearchManager.onEvent(SearchManager.java:451) > > at > > org.apache.jackrabbit.core.observation.EventConsumer.consumeEvents(EventC > >onsumer.java:231) at > > org.apache.jackrabbit.core.observation.ObservationDispatcher.dispatchEven > >ts(ObservationDispatcher.java:201) at > > org.apache.jackrabbit.core.observation.EventStateCollection.dispatch(Even > >tStateCollection.java:430) at > > org.apache.jackrabbit.core.state.SharedItemStateManager.externalUpdate(Sh > >aredItemStateManager.java:835) at > > org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.externalUpdate(Re > >positoryImpl.java:1952) at > > org.apache.jackrabbit.core.cluster.ClusterNode$SyncListener.end(ClusterNo > >de.java:800) at > > org.apache.jackrabbit.core.cluster.FileJournal.process(FileJournal.java:3 > >98) at > > org.apache.jackrabbit.core.cluster.FileJournal.sync(FileJournal.java:305) > > at > > org.apache.jackrabbit.core.cluster.ClusterNode.sync(ClusterNode.java:217) > > at > > org.apache.jackrabbit.core.cluster.ClusterNode.run(ClusterNode.java:189) > > at java.lang.Thread.run(Thread.java:595) > > 19-lut-2007 11:06:04 ERROR [lusterNode] Unexpected error while preparing > > log entry. > > java.lang.NullPointerException > > at > > org.apache.jackrabbit.core.cluster.FileRevision.unlock(FileRevision.java: > >117) at > > org.apache.jackrabbit.core.cluster.FileJournal.prepare(FileJournal.java:6 > >49) at > > org.apache.jackrabbit.core.cluster.ClusterNode.updatePrepared(ClusterNode > >.java:401) at org.apache.jackrabbit.core.cluster.ClusterNode.access$000 > > (ClusterNode.java:40) > > at > > org.apache.jackrabbit.core.cluster.ClusterNode$WorkspaceUpdateChannel.upd > >atePrepared(ClusterNode.java:559) at > > org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(Shar > >edItemStateManager.java:647) at > > org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(Share > >dItemStateManager.java:778) at > > org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItem > >StateManager.java:808) at > > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSt > >ateManager.java:326) at > > org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateMan > >ager.java:313) at > > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSt > >ateManager.java:302) at > > org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionIt > >emStateManager.java:295) at > > org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1204) at > > org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:821) at > > Remove.remove(Remove.java:36) > > at Remove.main(Remove.java:12) > > 19-lut-2007 11:06:04 ERROR [lusterNode] Unexpected error while committing > > log entry. > > java.lang.NullPointerException > > at > > org.apache.jackrabbit.core.cluster.FileJournal.commit(FileJournal.java:66 > >0) at > > org.apache.jackrabbit.core.cluster.ClusterNode.updateCommitted(ClusterNod > >e.java:425) at > > org.apache.jackrabbit.core.cluster.ClusterNode$WorkspaceUpdateChannel.upd > >ateCommitted(ClusterNode.java:566) at > > org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(Shared > >ItemStateManager.java:712) at > > org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItem > >StateManager.java:808) at > > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSt > >ateManager.java:326) at > > org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateMan > >ager.java:313) at > > org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemSt > >ateManager.java:302) at > > org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionIt > >emStateManager.java:295) at > > org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1204) at > > org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:821) at > > Remove.remove(Remove.java:36) > > at Remove.main(Remove.java:12) > > javax.jcr.InvalidItemStateException: /: the item cannot be saved because > > it has been modified externally. > > at > > org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:342) > > at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1069) > > at > > org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:821) at > > Remove.remove(Remove.java:36) > > at Remove.main(Remove.java:12) > > > > Create.java: > > > > javax.jcr.ItemNotFoundException: 9596c874-4804-4e65-9884-17e32a5d6b1d > > at > > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.jav > >a:467) at > > org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:323) > > at > > org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:79 > >6) at > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:740) > > at > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:687) > > at > > org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1912) at > > Create.create(Create.java:30) > > at Create.main(Create.java:12) > > > > and repository doesn't work anymore. If I try to run it, I get exception > > when nodes are created: > > > > Create.java: > > > > javax.jcr.ItemNotFoundException: 9596c874-4804-4e65-9884-17e32a5d6b1d > > at > > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.jav > >a:467) at > > org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:323) > > at > > org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:79 > >6) at > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:740) > > at > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:687) > > at > > org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1912) at > > Create.create(Create.java:30) > > at Create.main(Create.java:12) > > > > The exception is thrown always for the same node(e.g. 33 nodes are > > created fine but when 34. is created exception is thrown) > > > > If I remove the index directory, I get exception when repository is > > initialized: > > > > 19-lut-2007 11:39:12 ERROR [sitoryImpl] Failed to initialize workspace > > 'default' > > javax.jcr.RepositoryException: Error indexing root node: > > 9596c874-4804-4e65-9884-17e32a5d6b1d: Error indexing root node: > > 9596c874-4804-4e65-9884-17e32a5d6b1d: Error indexing root node: > > 9596c874-4804-4e65-9884-17e32a5d6b1d > > at > > org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchMan > >ager.java:506) at > > org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:248) > > at > > org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager( > >RepositoryImpl.java:1638) at > > org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.ja > >va:622) at > > org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(Repositor > >yImpl.java:375) at > > org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:293) > > at > > org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:573) > > at > > org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientR > >epository.java:245) at > > org.apache.jackrabbit.core.TransientRepository.startRepository(TransientR > >epository.java:265) at > > org.apache.jackrabbit.core.TransientRepository.login(TransientRepository. > >java:333) at > > org.apache.jackrabbit.core.TransientRepository.login(TransientRepository. > >java:363) at Create.getSession(Create.java:17) > > at Create.create(Create.java:25) > > at Create.main(Create.java:12) > > Caused by: java.io.IOException: Error indexing root node: > > 9596c874-4804-4e65-9884-17e32a5d6b1d > > at > > org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.java > >:284) at > > org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.ja > >va:245) at > > org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryH > >andler.java:44) at > > org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchMan > >ager.java:504) ... 13 more > > java.io.IOException: Error indexing root node: > > 9596c874-4804-4e65-9884-17e32a5d6b1d > > at > > org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.java > >:284) at > > org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.ja > >va:245) at > > org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryH > >andler.java:44) at > > org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchMan > >ager.java:504) at > > org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:248) > > at > > org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager( > >RepositoryImpl.java:1638) at > > org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.ja > >va:622) at > > org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(Repositor > >yImpl.java:375) at > > org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:293) > > at > > org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:573) > > at > > org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientR > >epository.java:245) at > > org.apache.jackrabbit.core.TransientRepository.startRepository(TransientR > >epository.java:265) at > > org.apache.jackrabbit.core.TransientRepository.login(TransientRepository. > >java:333) at > > org.apache.jackrabbit.core.TransientRepository.login(TransientRepository. > >java:363) at Create.getSession(Create.java:17) > > at Create.create(Create.java:25) > > at Create.main(Create.java:12) > > 19-lut-2007 11:39:12 ERROR [sitoryImpl] Unable to start repository, > > forcing shutdown... > > > > Is it a bug or maybe I do something wrong ? > > > > -- > > Rafał Kwiecień > > ConSol* Consulting & Solutions Software Poland Sp. z o.o. > > ul. Piastowska 44C, 30-070 Kraków > > http://www.consol.pl/ -- Rafał Kwiecień ConSol* Consulting & Solutions Software Poland Sp. z o.o. ul. Piastowska 44C, 30-070 Kraków http://www.consol.pl/
