Is there a good way of ensuring the IndexHits, close? Especially if I give out the IndexHits (perhaps in an IteratorWrapper) to client code?
Thanks Michael Am 31.03.2011 um 09:29 schrieb Mattias Persson: > There are two things here: > > The error you're getting is because you probably forget to close some > IndexHits somewhere, IndexHits that you haven't iterated all the way > through... could you check your code for such mistakes? > > The other one that doCommit always seems to be invoked I just tried and > cannot reproduce, so may be something on your end? could you provide a code > snippet to reproduce this? > > > Best, > Mattias > > 2011/3/30 Axel Morgner <[email protected]> > >> Hi, >> >> during stress tests, I got a "Too many open files" message (see detailed >> stack trace below). Server is a Debian Linux 2.6.26 x86_64 w/ 24 GB RAM, >> Core i7 which handles the load with ease. >> >> cat /proc/sys/fs/file-max >> 2399285 >> >> The parameter fs.file-max was already set very high, but I'll increase >> it further and see if it will happen again. >> >> fs.file-max = 6815744 >> fs.aio-max-nr = 1048576 >> >> Are there recommendations of linux kernel parameters? Or/and would you >> recommend other things to circumvent that, f.e. using multiple indexes >> instead of one? >> >> And it seems to me that finishing a Neo4j transaction will always >> trigger a LuceneTransaction.doCommit, even if there was no update on >> index (I try to avoid for the log nodes). Can this be switched off? >> >> Thanks and greetings >> >> Axel >> >> >> [1] Stack trace >> >> java.lang.RuntimeException: java.io.FileNotFoundException: >> /opt/structr/t5s/db/index/lucene/node/fulltextAllNodes/_ngl.fdx (Too >> many open files) >> at >> >> org.neo4j.index.impl.lucene.LuceneTransaction.doCommit(LuceneTransaction.java:272) >> at >> >> org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.commit(XaTransaction.java:318) >> at >> >> org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.commit(XaResourceManager.java:446) >> 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:621) >> at >> org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:584) >> at >> >> org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:104) >> at >> org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:85) >> at >> >> org.structr.core.node.TransactionCommand.execute(TransactionCommand.java:37) >> at org.structr.core.entity.AbstractNode.commit(AbstractNode.java:1048) >> at org.structr.core.log.LogService.flushQueue(LogService.java:101) >> at org.structr.core.log.LogService.run(LogService.java:73) >> Caused by: java.io.FileNotFoundException: >> /opt/structr/t5s/db/index/lucene/node/fulltextAllNodes/_ngl.fdx (Too >> many open files) >> at java.io.RandomAccessFile.open(Native Method) >> at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233) >> at >> >> org.apache.lucene.store.SimpleFSDirectory$SimpleFSIndexOutput.<init>(SimpleFSDirectory.java:180) >> at >> org.apache.lucene.store.NIOFSDirectory.createOutput(NIOFSDirectory.java:74) >> at org.apache.lucene.index.FieldsWriter.<init>(FieldsWriter.java:86) >> at >> >> org.apache.lucene.index.StoredFieldsWriter.initFieldsWriter(StoredFieldsWriter.java:66) >> at >> >> org.apache.lucene.index.StoredFieldsWriter.finishDocument(StoredFieldsWriter.java:144) >> at >> >> org.apache.lucene.index.StoredFieldsWriter$PerDoc.finish(StoredFieldsWriter.java:193) >> at >> >> org.apache.lucene.index.DocumentsWriter$WaitQueue.writeDocument(DocumentsWriter.java:1460) >> at >> >> org.apache.lucene.index.DocumentsWriter$WaitQueue.add(DocumentsWriter.java:1479) >> at >> >> org.apache.lucene.index.DocumentsWriter.finishDocument(DocumentsWriter.java:1099) >> at >> >> org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:777) >> at >> >> org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:752) >> at >> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1932) >> at >> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1906) >> at >> >> org.neo4j.index.impl.lucene.LuceneTransaction.applyDocuments(LuceneTransaction.java:299) >> at >> >> org.neo4j.index.impl.lucene.LuceneTransaction.doCommit(LuceneTransaction.java:260) >> ... 12 more >> javax.transaction.xa.XAException: Unknown >> xid[GlobalId[NEOKERNL|5131995998687892543|61442], BranchId[ 52 49 52 49 >> 52 49 ]] >> at >> >> org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.rollback(XaResourceManager.java:470) >> 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:648) >> at >> org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:584) >> at >> >> org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:104) >> at >> org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:85) >> at >> >> org.structr.core.node.TransactionCommand.execute(TransactionCommand.java:37) >> at org.structr.core.entity.AbstractNode.commit(AbstractNode.java:1048) >> at org.structr.core.log.LogService.flushQueue(LogService.java:101) >> at org.structr.core.log.LogService.run(LogService.java:73) >> Mar 30, 2011 6:31:53 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 ----> >> java.lang.RuntimeException: java.io.FileNotFoundException: >> /opt/structr/t5s/db/index/lucene/node/fulltextAllNodes/_ngl.fdx (Too >> many open files) >> at >> >> org.neo4j.index.impl.lucene.LuceneTransaction.doCommit(LuceneTransaction.java:272) >> at >> >> org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.commit(XaTransaction.java:318) >> at >> >> org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.commit(XaResourceManager.java:446) >> 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:621) >> at >> org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:584) >> at >> >> org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:104) >> at >> org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:85) >> at >> >> org.structr.core.node.TransactionCommand.execute(TransactionCommand.java:37) >> at org.structr.core.entity.AbstractNode.commit(AbstractNode.java:1048) >> at org.structr.core.log.LogService.flushQueue(LogService.java:101) >> at org.structr.core.log.LogService.run(LogService.java:73) >> Caused by: java.io.FileNotFoundException: >> /opt/structr/t5s/db/index/lucene/node/fulltextAllNodes/_ngl.fdx (Too >> many open files) >> at java.io.RandomAccessFile.open(Native Method) >> at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233) >> at >> >> org.apache.lucene.store.SimpleFSDirectory$SimpleFSIndexOutput.<init>(SimpleFSDirectory.java:180) >> at >> org.apache.lucene.store.NIOFSDirectory.createOutput(NIOFSDirectory.java:74) >> at org.apache.lucene.index.FieldsWriter.<init>(FieldsWriter.java:86) >> at >> >> org.apache.lucene.index.StoredFieldsWriter.initFieldsWriter(StoredFieldsWriter.java:66) >> at >> >> org.apache.lucene.index.StoredFieldsWriter.finishDocument(StoredFieldsWriter.java:144) >> at >> >> org.apache.lucene.index.StoredFieldsWriter$PerDoc.finish(StoredFieldsWriter.java:193) >> at >> >> org.apache.lucene.index.DocumentsWriter$WaitQueue.writeDocument(DocumentsWriter.java:1460) >> at >> >> org.apache.lucene.index.DocumentsWriter$WaitQueue.add(DocumentsWriter.java:1479) >> at >> >> org.apache.lucene.index.DocumentsWriter.finishDocument(DocumentsWriter.java:1099) >> at >> >> org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:777) >> at >> >> org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:752) >> at >> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1932) >> at >> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1906) >> at >> >> org.neo4j.index.impl.lucene.LuceneTransaction.applyDocuments(LuceneTransaction.java:299) >> at >> >> org.neo4j.index.impl.lucene.LuceneTransaction.doCommit(LuceneTransaction.java:260) >> ... 12 more >> org.neo4j.graphdb.TransactionFailureException: Unable to commit transaction >> at >> org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:104) >> at >> >> org.structr.core.node.TransactionCommand.execute(TransactionCommand.java:37) >> at org.structr.core.entity.AbstractNode.commit(AbstractNode.java:1048) >> at org.structr.core.log.LogService.flushQueue(LogService.java:101) >> at org.structr.core.log.LogService.run(LogService.java:73) >> 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:662) >> at >> org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:584) >> at >> >> org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:104) >> at >> org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:85) >> ... 4 more >> >> _______________________________________________ >> 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 _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

