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() )



Reply via email to