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/12/02 16:38:55 UTC
svn commit: r1209537 - in /incubator/jena:
Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/
Scratch/AFS/Jena-Dev/trunk/src/dev/
Author: andy
Date: Fri Dec 2 15:38:55 2011
New Revision: 1209537
URL: http://svn.apache.org/viewvc?rev=1209537&view=rev
Log: (empty)
Modified:
incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java
incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java
incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena163_TDBDifferentIds.java
Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java?rev=1209537&r1=1209536&r2=1209537&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java Fri Dec 2 15:38:55 2011
@@ -192,7 +192,7 @@ public class NodeTableTrans implements N
/** Copy from the journal file to the real file */
/*package*/ void append()
{
- //debug("append: %s",label) ;
+ //debug(">> append: %s",label) ;
// Assumes all() is in order from low to high.
Iterator<Pair<NodeId, Node>> iter = nodeTableJournal.all() ;
@@ -215,6 +215,7 @@ public class NodeTableTrans implements N
throw new TDBException(msg) ;
}
}
+ //debug("<< append: %s",label) ;
}
private void dump()
@@ -225,6 +226,8 @@ public class NodeTableTrans implements N
System.err.println("offset = "+offset) ;
System.err.println("journalStartOffset = "+journalObjFileStartOffset) ;
System.err.println("journal = "+journalObjFile.getLabel()) ;
+ if ( true )
+ return ;
System.err.println("nodeTableJournal >>>") ;
Iterator<Pair<NodeId, Node>> iter = nodeTableJournal.all() ;
@@ -262,7 +265,7 @@ public class NodeTableTrans implements N
@Override
public void commitPrepare(Transaction txn)
{
- //debug("commitPrepare: %s", label) ;
+ debug(">> commitPrepare: %s", label) ;
// The node table is append-only so it can be written during prepare.
// The index isn't written (via the transaction journal) until enact.
if ( nodeTableJournal == null )
@@ -274,7 +277,7 @@ public class NodeTableTrans implements N
long x = journalObjFile.length() ;
throw new TDBTransactionException("journalObjFile not cleared ("+x+")") ;
}
-
+ debug("<< commitPrepare: %s", label) ;
}
@Override
Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java?rev=1209537&r1=1209536&r2=1209537&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/TransactionManager.java Fri Dec 2 15:38:55 2011
@@ -192,11 +192,16 @@ public class TransactionManager
{
txn.getBaseDataset().getLock().leaveCriticalSection() ;
+ // This is so important, it shouldn't be in a TSM.
if ( activeReaders.get() == 0 )
{
// Can commit immediately.
// Ensure the queue is empty though.
// Could simply add txn to the commit queue and do it that way.
+ if ( log() ) log("Commit immediately", txn) ;
+
+ // Right after reply?
+
processDelayedReplayQueue(txn) ;
enactTransaction(txn) ;
JournalControl.replay(txn) ;
@@ -206,7 +211,7 @@ public class TransactionManager
// 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) ;
+ if ( log() ) log("Add to pending queue", txn) ;
queue.add(txn) ;
}
}
@@ -248,7 +253,7 @@ public class TransactionManager
new TSM_Counters() , // Must be first.
new TSM_Logger() ,
(recordHistory ? new TSM_Record() : null ) ,
- new TSM_WriteBackEndTxn() // Write back policy.
+ new TSM_WriteBackEndTxn() // Write back policy. Must be last.
} ;
public TransactionManager(DatasetGraphTDB dsg)
@@ -404,18 +409,18 @@ public class TransactionManager
if ( activeReaders.get() != 0 || activeWriters.get() != 0 )
{
if ( queue.size() > 0 && log() )
- {
- if ( txn != null )
- log(format("Pending transactions: R=%s / W=%s", activeReaders, activeWriters), txn) ;
- else
- logger().debug(format("Pending transactions: R=%s / W=%s", activeReaders, activeWriters)) ;
- }
+ log(format("Pending transactions: R=%s / W=%s", activeReaders, activeWriters), txn) ;
return ;
}
if ( tmpDebugNoteActions && queue.size() > 0 )
System.out.print("!"+queue.size()+"!") ;
+ if ( log() )
+ {
+ log("Start flush delayed commits", txn) ;
+ }
+
while ( queue.size() > 0 )
{
// Currently, replay is replay everything
@@ -426,7 +431,8 @@ public class TransactionManager
Transaction txn2 = queue.take() ;
if ( txn2.getMode() == ReadWrite.READ )
continue ;
- log("Flush delayed commit", txn2) ;
+ if ( log() )
+ log("Flush delayed commit of "+txn.getLabel(), txn) ;
// This takes a Write lock on the DSG - this is where it blocks.
checkReplaySafe() ;
enactTransaction(txn2) ;
@@ -443,6 +449,8 @@ public class TransactionManager
JournalControl.replay(journal, baseDataset) ;
checkReplaySafe() ;
+ if ( log() )
+ log("End flush delayed commits", txn) ;
}
private void checkReplaySafe()
@@ -543,7 +551,10 @@ public class TransactionManager
{
if ( ! log() )
return ;
- logger().debug(txn.getLabel()+": "+msg) ;
+ if ( txn == null )
+ logger().debug("<No txn>: "+msg) ;
+ else
+ logger().debug(txn.getLabel()+": "+msg) ;
}
private Logger logger()
Modified: incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena163_TDBDifferentIds.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena163_TDBDifferentIds.java?rev=1209537&r1=1209536&r2=1209537&view=diff
==============================================================================
--- incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena163_TDBDifferentIds.java (original)
+++ incubator/jena/Scratch/AFS/Jena-Dev/trunk/src/dev/Jena163_TDBDifferentIds.java Fri Dec 2 15:38:55 2011
@@ -331,7 +331,8 @@ public class Jena163_TDBDifferentIds
}
SysTxnState state = sConn.getTransMgrState() ;
log.debug(state.toString()) ;
- log.debug("writer finish "+id+"/"+i) ;
+ log.debug("writer finish "+id+"/"+i) ;
+ Lib.sleep(20) ;
dsg.end() ;
dsg = null ;
}