Hi Andy, NodeTableTrans has an empty implementation for the close() method.
Shouldn't we call close on journal (i.e. journal.close()) and, possibly, on base (i.e. base.close())? I can easily run into troubles using TestTransSystem with an on-disk location instead of an in-memory one. After a while, you hit the problem: "Too many open files". Calling journal.close() seems to fix it. Paolo [email protected] wrote:
Author: andy Date: Mon Aug 15 11:59:06 2011 New Revision: 1157790 URL: http://svn.apache.org/viewvc?rev=1157790&view=rev Log: JENA-95 Close node dat file after recovery. Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java?rev=1157790&r1=1157789&r2=1157790&view=diff ============================================================================== --- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java (original) +++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java Mon Aug 15 11:59:06 2011 @@ -216,6 +216,7 @@ public class JournalControl NodeTableTrans ntt = new NodeTableTrans(objFilename, baseNodeTable, new IndexMap(recordFactory), dataJrnl) ; ntt.append() ; ntt.close() ; + dataJrnl.close() ; baseNodeTable.sync() ; } if ( jrnlFile.exists() )
