You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/08/15 21:49:50 UTC
svn commit: r1157969 - in /incubator/jena/Experimental/TxTDB/trunk:
src-dev/tx/ src/main/java/com/hp/hpl/jena/tdb/
src/main/java/com/hp/hpl/jena/tdb/transaction/
src/test/java/com/hp/hpl/jena/tdb/transaction/
Author: andy
Date: Mon Aug 15 19:49:49 2011
New Revision: 1157969
URL: http://svn.apache.org/viewvc?rev=1157969&view=rev
Log:
JENA-95 Close subresources in NodeTableTrans at end of transaction.
Modified:
incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java
incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/StoreConnection.java
incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java
incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java
incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java
incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransSystem.java
Modified: incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java?rev=1157969&r1=1157968&r2=1157969&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java Mon Aug 15 19:49:49 2011
@@ -4,6 +4,7 @@ package tx;
public class DevTx
{
// ----
+ // Make sure that transactional object can't be used after abort/commit/close.
// 1 -- Root is not root! (overlapping reads?) [done]
// 2 -- BulkUpdateHandlerTDB.removeAll [failed to reproduce]
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/StoreConnection.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/StoreConnection.java?rev=1157969&r1=1157968&r2=1157969&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/StoreConnection.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/StoreConnection.java Mon Aug 15 19:49:49 2011
@@ -97,7 +97,7 @@ public class StoreConnection
}
/** Stop managing a location. */
- public static synchronized void expel(Location location) { expel(location, false) ; }
+ public static synchronized void release(Location location) { expel(location, false) ; }
/** Stop managing a location. */
private static synchronized void expel(Location location, boolean force)
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java?rev=1157969&r1=1157968&r2=1157969&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java Mon Aug 15 19:49:49 2011
@@ -197,6 +197,7 @@ public class NodeTableTrans implements N
{
passthrough = true ;
nodeTableJournal = null ;
+ close() ;
}
@Override
@@ -212,7 +213,9 @@ public class NodeTableTrans implements N
@Override
public void close()
- {}
+ {
+ journal.close() ;
+ }
@Override
public String toString() { return "NodeTableTrans:"+label ; }
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java?rev=1157969&r1=1157968&r2=1157969&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java Mon Aug 15 19:49:49 2011
@@ -185,13 +185,14 @@ public class TransactionManager
{
// Can commit immediately.
// Ensure the queue is empty though.
+ // Could simply add txn to the commit queue and do it that way.
processDelayedReplayQueue(txn) ;
enactTransaction(txn) ;
JournalControl.replay(txn) ;
}
else
{
- // Can't make permanent at the moment.
+ // Can't write back to the base database at the moment.
commitedAwaitingFlush.add(txn) ;
maxQueue = Math.max(commitedAwaitingFlush.size(), maxQueue) ;
log("Queue commit flush", txn) ;
Modified: incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java?rev=1157969&r1=1157968&r2=1157969&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java Mon Aug 15 19:49:49 2011
@@ -455,7 +455,7 @@ public abstract class AbstractTestTransS
DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE) ;
dsgW1.commit() ;
dsgW1.close() ;
- StoreConnection.expel(sConn.getLocation()) ;
+ StoreConnection.release(sConn.getLocation()) ;
StoreConnection sConn2 = getStoreConnection() ;
}
@@ -471,7 +471,7 @@ public abstract class AbstractTestTransS
dsgW1.close() ;
dsgR1.close();
- StoreConnection.expel(sConn.getLocation()) ;
+ StoreConnection.release(sConn.getLocation()) ;
sConn = null ;
StoreConnection sConn2 = getStoreConnection() ;
@@ -487,7 +487,7 @@ public abstract class AbstractTestTransS
// Expel.
StoreConnection sConn = getStoreConnection() ;
DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ;
- StoreConnection.expel(sConn.getLocation()) ;
+ StoreConnection.release(sConn.getLocation()) ;
}
Modified: incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransSystem.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransSystem.java?rev=1157969&r1=1157968&r2=1157969&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransSystem.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransSystem.java Mon Aug 15 19:49:49 2011
@@ -39,6 +39,7 @@ import com.hp.hpl.jena.datatypes.xsd.XSD
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.sparql.core.Quad ;
import com.hp.hpl.jena.sparql.sse.SSE ;
+import com.hp.hpl.jena.tdb.ConfigTest ;
import com.hp.hpl.jena.tdb.DatasetGraphTxn ;
import com.hp.hpl.jena.tdb.ReadWrite ;
import com.hp.hpl.jena.tdb.StoreConnection ;
@@ -51,7 +52,10 @@ public class TestTransSystem
static { org.openjena.atlas.logging.Log.setLog4j() ; }
private static Logger log = LoggerFactory.getLogger(TestTransSystem.class) ;
- static final int Iterations = 1000 ;
+ static final Location LOC = new Location(ConfigTest.getTestingDirDB()) ;
+ //static final Location LOC = Location.mem() ;
+
+ static final int Iterations = 100 ;
// Output style.
static boolean inlineProgress = true ; // (! log.isDebugEnabled()) && Iterations > 20 ;
static boolean logging = ! inlineProgress ; // (! log.isDebugEnabled()) && Iterations > 20 ;
@@ -95,6 +99,8 @@ public class TestTransSystem
for ( i = 0 ; i < Iterations ; i++ )
{
+ clean() ;
+
if (!inlineProgress && logging)
log.info(format("Iteration: %d\n", i)) ;
if ( inlineProgress )
@@ -118,6 +124,12 @@ public class TestTransSystem
log.info("FINISH ({})", i) ;
}
+ private static void clean()
+ {
+ if ( ! LOC.isMem() )
+ FileOps.clearDirectory(LOC.getDirectoryPath()) ;
+ }
+
static class Reader implements Callable<Object>
{
private final int repeats ;
@@ -385,8 +397,6 @@ public class TestTransSystem
static Quad q4 = SSE.parseQuad("(_ <s> <p> <o4>)") ;
- static final Location LOC = Location.mem() ;
-
private static int initCount = -1 ;
//static final Location LOC = new Location(ConfigTest.getTestingDirDB()) ;