Alex, That is caused by a bug. The bug has been fixed after 1.2. If you upgrade to the latest milestone, you will no longer get this exception. Also, the latest milestone will recover the store to a clean state. Your data will be safe.
David On Wed, Mar 9, 2011 at 10:26 AM, Axel Morgner <a...@morgner.de> wrote: > Hi out there, > > is there a caveat when concurrently accessing a lucene index for writing? > > From time to time, in rare cases, I'm getting an exception when > committing and indexing a series of nodes to Neo4j (1.2). The > transaction is triggered by a log service thread while the main thread > (web app) concurrently writes updates to the index, too. > > After such an exception, the system is unable to recover unless I > manually remove the lucene, lucene-fulltext and index folders from the > neo4j directory and start over. Then the system comes up again, and I > can sucessfully rebuild the index. > > Do I have to take care of locking by myself? > > Greetings > > Axel > > [1] > > java.lang.NullPointerException > at > > org.neo4j.index.impl.lucene.IndexType$CustomType.removeFromDocument(IndexType.java:165) > at > > org.neo4j.index.impl.lucene.LuceneCommand$RemoveCommand.perform(LuceneCommand.java:228) > at > > org.neo4j.index.impl.lucene.LuceneTransaction.doCommit(LuceneTransaction.java:231) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.commit(XaTransaction.java:319) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.commit(XaResourceManager.java:447) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.commit(XaResourceHelpImpl.java:65) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.doCommit(TransactionImpl.java:517) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:623) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:586) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:105) > at > org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:86) > at > > org.structr.core.node.TransactionCommand.execute(TransactionCommand.java:37) > at org.structr.core.entity.AbstractNode.commit(AbstractNode.java:968) > at org.structr.core.log.LogService.run(LogService.java:85) > javax.transaction.xa.XAException: Unknown > xid[GlobalId[NEOKERNL|-7500914275797900644|1974], BranchId[ 52 49 52 49 > 52 49 ]] > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.rollback(XaResourceManager.java:471) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.rollback(XaResourceHelpImpl.java:112) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.doRollback(TransactionImpl.java:534) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:650) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:586) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:105) > at > org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:86) > at > > org.structr.core.node.TransactionCommand.execute(TransactionCommand.java:37) > at org.structr.core.entity.AbstractNode.commit(AbstractNode.java:968) > at org.structr.core.log.LogService.run(LogService.java:85) > 09.03.2011 18:27:07 org.neo4j.kernel.impl.transaction.TxManager commit > SCHWERWIEGEND: Unable to rollback transaction. Some resources may be > commited others not. Neo4j kernel should be SHUTDOWN for resource > maintance and transaction recovery ----> > java.lang.NullPointerException > at > > org.neo4j.index.impl.lucene.IndexType$CustomType.removeFromDocument(IndexType.java:165) > at > > org.neo4j.index.impl.lucene.LuceneCommand$RemoveCommand.perform(LuceneCommand.java:228) > at > > org.neo4j.index.impl.lucene.LuceneTransaction.doCommit(LuceneTransaction.java:231) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.commit(XaTransaction.java:319) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.commit(XaResourceManager.java:447) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.commit(XaResourceHelpImpl.java:65) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.doCommit(TransactionImpl.java:517) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:623) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:586) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:105) > at > org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:86) > at > > org.structr.core.node.TransactionCommand.execute(TransactionCommand.java:37) > at org.structr.core.entity.AbstractNode.commit(AbstractNode.java:968) > at org.structr.core.log.LogService.run(LogService.java:85) > org.neo4j.graphdb.TransactionFailureException: Unable to commit transaction > at > org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:105) > at > > org.structr.core.node.TransactionCommand.execute(TransactionCommand.java:37) > at org.structr.core.entity.AbstractNode.commit(AbstractNode.java:968) > at org.structr.core.log.LogService.run(LogService.java:85) > Caused by: javax.transaction.HeuristicMixedException: Unable to rollback > ---> error code in commit: -1 ---> error code for rollback: 0 > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:664) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:586) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:105) > at > org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:86) > ... 3 more > > > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- David Montag Neo Technology, www.neotechnology.com Cell: 650.556.4411 david.mon...@neotechnology.com _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user