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/07/14 17:28:39 UTC

svn commit: r1146757 - in /incubator/jena/Experimental/TxTDB/trunk: src-dev/tx/ src/main/java/com/hp/hpl/jena/tdb/transaction/

Author: andy
Date: Thu Jul 14 15:28:39 2011
New Revision: 1146757

URL: http://svn.apache.org/viewvc?rev=1146757&view=rev
Log: (empty)

Modified:
    incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/ExTxTDB.java
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Journal.java
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalControl.java
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalEntry.java

Modified: incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/ExTxTDB.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/ExTxTDB.java?rev=1146757&r1=1146756&r2=1146757&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/ExTxTDB.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/ExTxTDB.java Thu Jul 14 15:28:39 2011
@@ -20,6 +20,7 @@ package tx;
 
 
 import com.hp.hpl.jena.query.Dataset ;
+import com.hp.hpl.jena.query.DatasetFactory ;
 import com.hp.hpl.jena.query.QueryExecution ;
 import com.hp.hpl.jena.query.QueryExecutionFactory ;
 import com.hp.hpl.jena.query.ResultSet ;
@@ -57,15 +58,15 @@ public class ExTxTDB
     {
         DatasetGraphTxn dsg = sConn.begin(ReadWrite.READ) ;
         try {
-            // SPARQL
-            QueryExecution qExec = QueryExecutionFactory.create("SELECT * { ?s ?p ?o} LIMIT 10", /*dsg*/(Dataset)null) ;
+            Dataset ds = DatasetFactory.create(dsg) ;
+            QueryExecution qExec = QueryExecutionFactory.create("SELECT * { ?s ?p ?o} LIMIT 10", ds) ;
             ResultSet rs = qExec.execSelect() ;
             try {
                 ResultSetFormatter.out(rs) ;
             } finally { qExec.close() ; }
 
-            // Another query.
-            qExec = QueryExecutionFactory.create("SELECT * { ?s ?p ?o} OFFSET 10 LIMIT 10", /*dsg*/(Dataset)null) ;
+            // Another query - same view of the data.
+            qExec = QueryExecutionFactory.create("SELECT * { ?s ?p ?o} OFFSET 10 LIMIT 10", ds) ;
             rs = qExec.execSelect() ;
             try {
                 ResultSetFormatter.out(rs) ;
@@ -78,21 +79,13 @@ public class ExTxTDB
     {
         DatasetGraphTxn dsg = sConn.begin(ReadWrite.WRITE) ;
         try {
-            // Update
-            dsg.commit() ;
-        } finally { dsg.close() ; } // WARNING if no commit or abort.
-        
-        // Alt: .beginQuery / .beginUpdate (isa Graphstore)
-        
-        dsg = sConn.begin(ReadWrite.WRITE) ;
-        try {
             // Query
             QueryExecution qExec = QueryExecutionFactory.create("SELECT * { ?s ?p ?o} LIMIT 10", /*dsg*/(Dataset)null) ;
             ResultSet rs = qExec.execSelect() ;
             try {
                 ResultSetFormatter.out(rs) ;
             } finally { qExec.close() ; }
-            
+
             // Update
             UpdateRequest request = UpdateFactory.create("PREFIX : <http://example/> INSERT DATA { :s :p :o}") ;
             UpdateProcessor proc = UpdateExecutionFactory.create(request, dsg) ;

Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Journal.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Journal.java?rev=1146757&r1=1146756&r2=1146757&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Journal.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/Journal.java Thu Jul 14 15:28:39 2011
@@ -7,14 +7,16 @@
 package com.hp.hpl.jena.tdb.transaction;
 
 import static com.hp.hpl.jena.tdb.sys.SystemTDB.SizeOfInt ;
-import static com.hp.hpl.jena.tdb.transaction.JournalEntryType.* ;
+import static com.hp.hpl.jena.tdb.transaction.JournalEntryType.Block ;
+
 import java.nio.ByteBuffer ;
 import java.util.Iterator ;
 
 import org.openjena.atlas.iterator.IteratorSlotted ;
 import org.openjena.atlas.lib.Closeable ;
 import org.openjena.atlas.lib.Sync ;
-
+import org.slf4j.Logger ;
+import org.slf4j.LoggerFactory ;
 
 import com.hp.hpl.jena.tdb.base.block.Block ;
 import com.hp.hpl.jena.tdb.base.file.BufferChannel ;
@@ -28,6 +30,8 @@ import com.hp.hpl.jena.tdb.sys.FileRef ;
 public final
 class Journal implements Iterable<JournalEntry>, Sync, Closeable
 {
+    private static Logger log = LoggerFactory.getLogger(Journal.class) ;
+    
     // Version 1 : issue might be excessive copying
     // [TxTDB:TODO] Caching
     
@@ -80,6 +84,8 @@ class Journal implements Iterable<Journa
     synchronized
     private long _write(JournalEntryType type, FileRef fileRef, ByteBuffer buffer, Block block)
     {
+        log.info(type+","+fileRef+", "+buffer+", "+block) ;
+        
         if ( buffer != null && block != null )
             throw new TDBTransactionException("Buffer and block to write") ;
         if ( block != null )

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=1146757&r1=1146756&r2=1146757&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 Thu Jul 14 15:28:39 2011
@@ -11,9 +11,12 @@ import static com.hp.hpl.jena.tdb.sys.Sy
 
 import java.io.File ;
 import java.nio.ByteBuffer ;
+import java.util.Iterator ;
 import java.util.Map ;
 
 import org.openjena.atlas.lib.FileOps ;
+import org.slf4j.Logger ;
+import org.slf4j.LoggerFactory ;
 
 import com.hp.hpl.jena.shared.Lock ;
 import com.hp.hpl.jena.tdb.DatasetGraphTxn ;
@@ -37,17 +40,13 @@ public class JournalControl
 
     public static void print(Journal journal)
     {
+        System.out.println("Posn: "+journal.channel.size()) ;
+        
         for ( JournalEntry e : journal )
         {
-            System.out.println("Entry: ") ;
-            ByteBuffer bb = e.getByteBuffer() ;
-            Block blk = e.getBlock() ;
-            if ( bb != null )
-                System.out.println("  "+bb) ;
-            if ( blk != null )
-                System.out.println("  "+blk) ;
-            System.out.println("  "+e.getFileRef()) ;
-            System.out.println("  "+e.getType()) ;
+            System.out.println(JournalEntry.format(e)) ;
+            System.out.println("Posn: "+journal.channel.position()+" : ("+(journal.channel.size()-journal.channel.position())+")") ;
+            
         }
     }
 
@@ -136,7 +135,13 @@ public class JournalControl
     
     public static void replay(Transaction transaction)
     {
+        // What about the Transactional components of a transation. 
         Journal journal = transaction.getJournal() ;
+        System.out.println(">> REPLAY") ;
+        print(journal) ;
+        System.out.println("<< REPLAY") ;
+        System.out.flush() ;
+        
         DatasetGraphTDB dsg = transaction.getBaseDataset() ;
         replay(journal, dsg) ;
 //        Iterator<Transactional> iter = transaction.components() ;

Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalEntry.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalEntry.java?rev=1146757&r1=1146756&r2=1146757&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalEntry.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/JournalEntry.java Thu Jul 14 15:28:39 2011
@@ -54,6 +54,31 @@ public class JournalEntry
     public ByteBuffer getByteBuffer()       { return byteBuffer ; }
     public Block getBlock()                 { return block ; }
     public FileRef getFileRef()             { return fileRef ; }
+    
+    @Override
+    public String toString()
+    {
+        return "JournalEntry: "+type+" "+fileRef ;
+    }
+    
+    static public String format(JournalEntry entry)
+    {
+        return format(entry.getType(), entry.getByteBuffer(), entry.getBlock(), entry.getFileRef()) ;
+    }
+
+    static public String format(JournalEntryType type, ByteBuffer byteBuffer, Block block, FileRef fileRef)
+    {
+        StringBuilder sbuff = new StringBuilder() ;
+        
+        sbuff.append("Entry: \n") ;
+        if ( byteBuffer != null )
+            sbuff.append("  "+byteBuffer) ;
+        if ( block != null )
+            sbuff.append("  "+block) ;
+        sbuff.append("  "+fileRef) ;
+        sbuff.append("  "+type) ;
+        return sbuff.toString() ;
+    }
 }
 
 /*