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/11/25 17:53:06 UTC
svn commit: r1206256 - in /incubator/jena:
Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.java
Scratch/AFS/Jena-Dev/trunk/src/dev/Jena163_TDBDifferentIds.java
Author: andy
Date: Fri Nov 25 16:53:05 2011
New Revision: 1206256
URL: http://svn.apache.org/viewvc?rev=1206256&view=rev
Log: (empty)
Modified:
incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/NodeTableTrans.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=1206256&r1=1206255&r2=1206256&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 Nov 25 16:53:05 2011
@@ -18,9 +18,11 @@
package com.hp.hpl.jena.tdb.transaction;
+import java.nio.ByteBuffer ;
import java.util.Iterator ;
import org.openjena.atlas.iterator.Iter ;
+import org.openjena.atlas.lib.ByteBufferLib ;
import org.openjena.atlas.lib.Pair ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@@ -28,6 +30,7 @@ import org.slf4j.LoggerFactory ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.tdb.TDBException ;
import com.hp.hpl.jena.tdb.base.objectfile.ObjectFile ;
+import com.hp.hpl.jena.tdb.base.record.Record ;
import com.hp.hpl.jena.tdb.index.Index ;
import com.hp.hpl.jena.tdb.nodetable.NodeTable ;
import com.hp.hpl.jena.tdb.nodetable.NodeTableCache ;
@@ -205,12 +208,14 @@ public class NodeTableTrans implements N
private void dump()
{
+ System.err.println(">>>>>>>>>>") ;
System.err.println("label = "+label) ;
System.err.println("txn = "+txn) ;
System.err.println("offset = "+offset) ;
System.err.println("journalStartOffset = "+journalStartOffset) ;
System.err.println("journal = "+journal.getLabel()) ;
+ System.err.println("nodeTableJournal >>>") ;
Iterator<Pair<NodeId, Node>> iter = nodeTableJournal.all() ;
for ( ; iter.hasNext() ; )
{
@@ -222,7 +227,25 @@ public class NodeTableTrans implements N
// This does the write.
NodeId nodeId2 = base.getAllocateNodeId(node) ;
System.err.println(x + " mapped=" + mapped + " getAlloc="+nodeId2) ;
- }
+ }
+
+ System.err.println("journal >>>") ;
+ Iterator<Pair<Long, ByteBuffer>> iter1 = this.journal.all() ;
+ for ( ; iter1.hasNext() ; )
+ {
+ Pair<Long, ByteBuffer> p = iter1.next() ;
+ System.err.println(p.getLeft()+" : "+p.getRight()) ;
+ ByteBufferLib.print(System.err, p.getRight()) ;
+ }
+
+ System.err.println("nodeIndex >>>") ;
+ Iterator<Record> iter2 = this.nodeIndex.iterator() ;
+ for ( ; iter2.hasNext() ; )
+ {
+ Record r = iter2.next() ;
+ System.err.println(r) ;
+ }
+ System.err.println("<<<<<<<<<<") ;
}
@Override
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=1206256&r1=1206255&r2=1206256&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 Nov 25 16:53:05 2011
@@ -79,26 +79,28 @@ public class Jena163_TDBDifferentIds
// Output style.
static boolean logging = false ;
- static final int numReaderTasks = 0 ; // 5
+ // XXX Switch to threads choosing a mix of actions.
+
+ static final int numReaderTasks = 5 ; // 5
static final int numWriterTasksA = 3 ; // 3
static final int numWriterTasksC = 5 ; // 5
- static final int readerSeqRepeats = 2 ; // 8
- static final int readerMaxPause = 15 ; // 20
+ static final int readerSeqRepeats = 8 ; // 8
+ static final int readerMaxPause = 20 ; // 20
- static final int writerAbortSeqRepeats = 2 ; // 4
+ static final int writerAbortSeqRepeats = 3 ; // 4
static final int writerCommitSeqRepeats = 4 ; // 4
- static final int writerMaxPause = 15 ; // 20
+ static final int writerMaxPause = 20 ; // 20
- static final int numThreadsInPool = 4 ; // If <= 0 then use an unbounded thread pool.
+ static final int numThreadsInPool = 6 ; // If <= 0 then use an unbounded thread pool.
private static ExecutorService execService = null ;
private static int iteration = 0 ;
private static int numIterationsPerBlock = 100 ;
private static int colCount = 0 ;
private static int colMax = 200 ;
- private static boolean inlineProgress = true ; // Set true so that every transaction print a letter for what it does.
- private static Semaphore startPoint ;
+ private static boolean inlineProgress = true ; // Set true so that every transaction print a letter for what it does.
+ private static Semaphore startPoint ;
/** TODO
* Ideally: better mixes of R, C and A.
@@ -338,8 +340,11 @@ public class Jena163_TDBDifferentIds
public static void start()
{
- try { startPoint.acquire() ; }
- catch (InterruptedException e) { e.printStackTrace(); }
+ if ( startPoint != null )
+ {
+ try { startPoint.acquire() ; }
+ catch (InterruptedException e) { e.printStackTrace(); }
+ }
pause(10) ;
}
@@ -413,7 +418,9 @@ public class Jena163_TDBDifferentIds
}
} ;
- startPoint = new Semaphore(0) ;
+ // All threads start and queue on this - otherwise the thread start up as the executeor is loaded.
+ // That can lead to uninterstin sequences of actions.
+ startPoint = null ; //new Semaphore(0) ;
int RN1 = numReaderTasks/2 ;
int RN2 = Math.min(1, numReaderTasks) ;
@@ -427,16 +434,18 @@ public class Jena163_TDBDifferentIds
// Define the query mix.
submit(execService, procW_c, WC1, "COMMIT-") ;
- submit(execService, procR, RN1, "READ-") ;
submit(execService, procW_a, WA1, "ABORT-") ;
- submit(execService, procR, RN2, "READ-") ;
+ submit(execService, procR, RN1, "READ-") ;
submit(execService, procW_c, WC2, "COMMIT-") ;
+ submit(execService, procR, RN2, "READ-") ;
// submit(execService, procR, RN3, "READ-") ;
// submit(execService, procW_c, WA2, "ABORT-") ;
submit(execService, procW_c, WA2, "ABORT-") ;
submit(execService, procR, RN3, "READ-") ;
- startPoint.release(4000) ;
+ if ( startPoint != null )
+ // Let them all go.
+ startPoint.release(4000) ;
try
{