Hi, I copy-pasted your code into a test case and it runs fine on my machine... in fact there's already tests similar to this running on our continuous integration servers and there haven't been problem with them.
Are you running on Windows or have you overlooked anything obvious in your setup (nothing in particular comes to mind though)? 2011/9/7 nhatvo <[email protected]> > I've searched around the forum, and aware of people who are using different > indexes for optimization. I am trying modify the > EmbeddedNeo4jWithIndexing.java from the samples directory so support > multiple indexes and I kept on getting exception whenever I try to commit > the transaction. My use case seems so obvious so there must be a solution > for this. If I only have one of the indexes, then it's fine, but whenever > I > have 2 indexes then it barf'ed! > > The scenario I have is one node with a name and a description. I want the > description to have full text search, but not the name. So here is the > standard setup code (simplified for illustration). > > g = new EmbeddedGraphDatabase(storeDir); > nIndex = g.index().forNodes ("node_name"); > dIndex = g.index().forNodes ("node_desc", > MapUtil.stringMap(IndexManager.PROVIDER, "lucene", "type", "fulltext")); > > try{ > tx = graphDatabaseService.beginTx(); > > node = g.createNode(); > node.setProperty("name","hello"); > node.setProperty("description","this is the description"); > > nIndex.add(node, "name","hello"); > dIndex.add(node, "description","this is the description"); > > tx.success(); > }finally{ > tx.finish(); > } > > > > Here is the exception I got: > > Sep 6, 2011 8:53:32 PM org.neo4j.kernel.impl.transaction.TxManager commit > SEVERE: Commit failed > java.nio.channels.OverlappingFileLockException > at > > sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileChannelImpl.java:1166) > at > > sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelImpl.java:1068) > at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:868) > at java.nio.channels.FileChannel.tryLock(FileChannel.java:962) > at > org.apache.lucene.store.NativeFSLock.obtain(NativeFSLockFactory.java:216) > at org.apache.lucene.store.Lock.obtain(Lock.java:72) > at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1097) > at > > org.neo4j.index.impl.lucene.LuceneDataSource.getIndexWriter(LuceneDataSource.java:588) > at > > org.neo4j.index.impl.lucene.CommitContext.ensureWriterInstantiated(CommitContext.java:59) > at > > org.neo4j.index.impl.lucene.LuceneCommand$AddCommand.perform(LuceneCommand.java:188) > at > > org.neo4j.index.impl.lucene.LuceneTransaction.doCommit(LuceneTransaction.java:259) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.commit(XaTransaction.java:319) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.commit(XaResourceManager.java:456) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.commit(XaResourceHelpImpl.java:64) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.doCommit(TransactionImpl.java:516) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:659) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:622) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:107) > at > org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:85) > EmbeddedNeo4jWithIndexing.main(EmbeddedNeo4jWithIndexing.java:85) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) > Sep 6, 2011 8:53:32 PM org.neo4j.kernel.impl.transaction.TxManager commit > SEVERE: Unable to rollback transaction. Some resources may be commited > others not. Neo4j kernel should be SHUTDOWN for resource maintance and > transaction recovery ----> > javax.transaction.xa.XAException: Unknown > xid[GlobalId[NEOKERNL|-1963523328321029165|2], BranchId[ 52 49 52 49 52 49 > ]] > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.rollback(XaResourceManager.java:481) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.rollback(XaResourceHelpImpl.java:111) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.doRollback(TransactionImpl.java:533) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:685) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:622) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:107) > at > org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:85) > EmbeddedNeo4jWithIndexing.main(EmbeddedNeo4jWithIndexing.java:85) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) > Exception in thread "main" org.neo4j.graphdb.TransactionFailureException: > Unable to commit transaction > at > org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:104) > EmbeddedNeo4jWithIndexing.main(EmbeddedNeo4jWithIndexing.java:85) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) > Caused by: javax.transaction.HeuristicMixedException: Unable to rollback > ---> error in commit: java.nio.channels.OverlappingFileLockException ---> > error code for rollback: 0 > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:703) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:622) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:107) > at > org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:85) > ... 6 more > Caused by: javax.transaction.xa.XAException: Unknown > xid[GlobalId[NEOKERNL|-1963523328321029165|2], BranchId[ 52 49 52 49 52 49 > ]] > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.rollback(XaResourceManager.java:481) > at > > org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.rollback(XaResourceHelpImpl.java:111) > at > > org.neo4j.kernel.impl.transaction.TransactionImpl.doRollback(TransactionImpl.java:533) > at > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:685) > ... 9 more > > > > -- > View this message in context: > http://neo4j-community-discussions.438527.n3.nabble.com/multiple-lucene-index-in-a-transaction-doesn-t-work-tp3315601p3315601.html > Sent from the Neo4j Community Discussions mailing list archive at > Nabble.com. > _______________________________________________ > Neo4j mailing list > [email protected] > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [[email protected]] Hacker, Neo Technology www.neotechnology.com _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

