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/05 16:42:32 UTC

svn commit: r1210502 - in /incubator/jena: Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/ Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/objectfile/ Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/transaction/ Scratch/AFS/Jena-D...

Author: andy
Date: Mon Dec  5 15:42:32 2011
New Revision: 1210502

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

Modified:
    incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessBase.java
    incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessDirect.java
    incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessMapped.java
    incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BufferChannelFile.java
    incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileBase.java
    incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileSet.java
    incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/PlainFilePersistent.java
    incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/objectfile/ObjectFileStorage.java
    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/base/file/BlockAccessBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessBase.java?rev=1210502&r1=1210501&r2=1210502&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessBase.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessBase.java Mon Dec  5 15:42:32 2011
@@ -20,10 +20,7 @@ package com.hp.hpl.jena.tdb.base.file;
 
 import static java.lang.String.format ;
 
-import java.io.IOException ;
-import java.io.RandomAccessFile ;
 import java.nio.ByteBuffer ;
-import java.nio.channels.FileChannel ;
 import java.util.concurrent.atomic.AtomicLong ;
 
 import org.openjena.atlas.lib.FileOps ;
@@ -36,43 +33,33 @@ import com.hp.hpl.jena.tdb.sys.SystemTDB
 /** Support for a disk file backed FileAccess */
 public abstract class BlockAccessBase implements BlockAccess 
 {
-    final protected int blockSize ;
-    protected final String filename ;
+    protected final int blockSize ;
+    protected final FileBase file ; 
+    
     protected final String label ;
-    protected FileChannel channel ;
-//    protected RandomAccessFile out ;
     protected long numFileBlocks = -1 ;             // Don't overload use of this!
     protected final AtomicLong seq ;   // Id (future)
     protected boolean isEmpty = false ;
 
     public BlockAccessBase(String filename, int blockSize)
     {
+        file = new FileBase(filename) ;
         this.blockSize = blockSize ;
-        this.filename = filename ;
         this.label = FileOps.basename(filename) ;
-        try {
-            // "rwd" - Syncs only the file contents
-            // "rws" - Syncs the file contents and metadata
-            // "rw" - cached?
-
-            RandomAccessFile out = new RandomAccessFile(filename, "rw") ;
-            channel = out.getChannel() ;
-            
-            long filesize = channel.size() ;
-            long longBlockSize = blockSize ;
-            
-            numFileBlocks = filesize/longBlockSize ;
-            seq = new AtomicLong(numFileBlocks) ;
-            
-            if ( numFileBlocks > Integer.MAX_VALUE )
-                getLog().warn(format("File size (%d) exceeds tested block number limits (%d)", filesize, blockSize)) ;
+        long filesize = file.size() ;
+        long longBlockSize = blockSize ;
             
-            if ( filesize%longBlockSize != 0 )
-                throw new BlockException(format("File size (%d) not a multiple of blocksize (%d)", filesize, blockSize)) ;
+        numFileBlocks = filesize/longBlockSize ;
+        seq = new AtomicLong(numFileBlocks) ;
 
-            if ( channel.size() == 0 )
-                isEmpty = true ;
-        } catch (IOException ex) { throw new BlockException("Failed to create BlockMgrFile", ex) ; }    
+        if ( numFileBlocks > Integer.MAX_VALUE )
+            getLog().warn(format("File size (%d) exceeds tested block number limits (%d)", filesize, blockSize)) ;
+
+        if ( filesize%longBlockSize != 0 )
+            throw new BlockException(format("File size (%d) not a multiple of blocksize (%d)", filesize, blockSize)) ;
+
+        if ( filesize == 0 )
+            isEmpty = true ;
     }
 
     protected abstract Logger getLog()  ;
@@ -117,7 +104,7 @@ public abstract class BlockAccessBase im
             synchronized(this)
             {
                 if ( id < 0 || id >= numFileBlocks )
-                    throw new BlockException(format("BlockAccessBase: Bounds exception: %s: (%d,%d)", filename, id,numFileBlocks)) ;
+                    throw new BlockException(format("BlockAccessBase: Bounds exception: %s: (%d,%d)", file.filename, id,numFileBlocks)) ;
             }
         }
     }
@@ -134,15 +121,11 @@ public abstract class BlockAccessBase im
 
     protected void force()
     {
-        try
-        {
-            channel.force(false) ;  // Don't flush metadata 
-        } catch (IOException ex)
-        { throw new FileException("Channel.force failed", ex) ; }
+        file.sync() ;
     }
     
     //@Override
-    final public boolean isClosed() { return channel == null ; }  
+    final public boolean isClosed() { return file.channel == null ; }  
     
     protected final void checkIfClosed() 
     { 
@@ -156,15 +139,7 @@ public abstract class BlockAccessBase im
     final public void close()
     {
         _close() ;
-        if ( channel != null )
-        {
-            try {
-                force() ;
-                channel.close();
-                channel = null ;
-            } catch (IOException ex)
-            { throw new BlockException(ex) ; }
-        }
+        file.close() ;
     }
     
     @Override

Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessDirect.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessDirect.java?rev=1210502&r1=1210501&r2=1210502&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessDirect.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessDirect.java Mon Dec  5 15:42:32 2011
@@ -67,7 +67,7 @@ public class BlockAccessDirect extends B
     private void readByteBuffer(long id, ByteBuffer dst)
     {
         try {
-            int len = channel.read(dst, filePosition(id)) ;
+            int len = file.channel.read(dst, filePosition(id)) ;
             if ( len != blockSize )
                 throw new FileException(format("get: short read (%d, not %d)", len, blockSize)) ;   
         } catch (IOException ex)
@@ -90,7 +90,7 @@ public class BlockAccessDirect extends B
         bb.limit(bb.capacity()) ;   // It shouldn't have been changed.
         bb.rewind() ;
         try {
-            int len = channel.write(bb, filePosition(block.getId())) ;
+            int len = file.channel.write(bb, filePosition(block.getId())) ;
             if ( len != blockSize )
                 throw new FileException(format("write: short write (%d, not %d)", len, blockSize)) ;   
         } catch (IOException ex)
@@ -121,5 +121,5 @@ public class BlockAccessDirect extends B
     }
     
     @Override
-    public String toString() { return "Direct:"+FileOps.basename(filename) ; }
+    public String toString() { return "Direct:"+FileOps.basename(file.filename) ; }
 }

Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessMapped.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessMapped.java?rev=1210502&r1=1210501&r2=1210502&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessMapped.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BlockAccessMapped.java Mon Dec  5 15:42:32 2011
@@ -217,7 +217,7 @@ public class BlockAccessMapped extends B
         if ( segBuffer == null )
         {
             try {
-                segBuffer = channel.map(MapMode.READ_WRITE, offset, SegmentSize) ;
+                segBuffer = file.channel.map(MapMode.READ_WRITE, offset, SegmentSize) ;
                 if ( getLog().isDebugEnabled() )
                     getLog().debug(format("Segment: %d", seg)) ;
                 segments[seg] = segBuffer ;

Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BufferChannelFile.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BufferChannelFile.java?rev=1210502&r1=1210501&r2=1210502&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BufferChannelFile.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/BufferChannelFile.java Mon Dec  5 15:42:32 2011
@@ -105,15 +105,13 @@ public class BufferChannelFile implement
     @Override
     public void sync()
     { 
-        try { file.channel.force(true) ; }
-        catch (IOException e) { IO.exception(e) ; }
+        file.sync() ;
     }
 
     @Override
     public void close()
     {
-        try { file.channel.close() ; }
-        catch (IOException e) { IO.exception(e) ; }
+        file.close() ;
     }
 
     @Override

Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileBase.java?rev=1210502&r1=1210501&r2=1210502&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileBase.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileBase.java Mon Dec  5 15:42:32 2011
@@ -22,34 +22,65 @@ import java.io.IOException ;
 import java.io.RandomAccessFile ;
 import java.nio.channels.FileChannel ;
 
+import org.openjena.atlas.io.IO ;
 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.BlockException ;
 
 public class FileBase implements Sync, Closeable
 {
+    static private Logger log = LoggerFactory.getLogger(FileBase.class) ; 
+    // Usually used as a mixin, which java does not support very well.
     public final String filename ;
-    public final FileChannel channel ;
-    public final RandomAccessFile out ;
+    public FileChannel channel ;
+    public RandomAccessFile out ;
+    public static boolean DEBUG = false ;
+    private final boolean DebugThis  ;
+    private static long counter = 0 ;
+    private final long id ;
 
     public FileBase(String filename)
     {
+        this(filename, "rw") ;
+    }
+    
+    public FileBase(String filename, String mode)
+    {
+        DebugThis = DEBUG && filename.contains("nodes.dat-jrnl") ;
+        id  = (counter++) ;
+        
+        if ( DebugThis )
+            log.debug("open: ["+id+"]"+filename) ;
         this.filename = filename ;
         try {
             // "rwd" - Syncs only the file contents
             // "rws" - Syncs the file contents and metadata
             // "rw" - cached?
-            out = new RandomAccessFile(filename, "rw") ;
+            out = new RandomAccessFile(filename, mode) ;
             channel = out.getChannel() ;
-        } catch (IOException ex) { throw new BlockException("Failed to create FileBase", ex) ; } 
+        } catch (IOException ex) { throw new BlockException("Failed to create FileBase", ex) ; }
     }
 
+    public long size()
+    {
+        try {
+            return channel.size() ;
+        } catch (IOException ex)
+        { IO.exception(ex) ; return -1L ; }
+    }
+    
     @Override
     public void close()
     {
+        if ( DebugThis )
+            log.debug("close: ["+id+"]: "+filename) ;
         try {
             channel.close() ;
+            channel = null ;
+            out = null ;
         } catch (IOException ex)
         { throw new FileException("FileBase.close", ex) ; }
 
@@ -58,6 +89,8 @@ public class FileBase implements Sync, C
     @Override
     public void sync()
     {
+        if ( DebugThis ) 
+            log.debug("sync: ["+id+"]: "+filename) ;
         try {
             channel.force(false) ;
         } catch (IOException ex)

Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileSet.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileSet.java?rev=1210502&r1=1210501&r2=1210502&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileSet.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/FileSet.java Mon Dec  5 15:42:32 2011
@@ -109,16 +109,6 @@ public class FileSet
         return location.isMem() ;
     }
 
-//    public RandomAccessFile openReadOnly(String ext)
-//    {
-//        return open(ext, "r") ;
-//    }
-//    
-//    public RandomAccessFile open(String ext)
-//    {
-//        return open(ext, "rw") ;
-//    }
-//        
     public boolean exists(String ext)
     {
         if ( location.isMem() )
@@ -140,21 +130,4 @@ public class FileSet
     {
         return location.getPath(basename, ext) ;
     }
-    
-//    public RandomAccessFile open(String ext, String mode)
-//    {
-//        // "rwd" - Syncs only the file contents
-//        // "rws" - Syncs the file contents and metadata
-//        // "rw" -
-//        try {
-//            RandomAccessFile out = new RandomAccessFile(filename(ext), mode) ;
-//            return out ;
-//        } catch (IOException ex) { throw new FileException("Failed to open file", ex) ; } 
-//    }
-//    
-//    public FileChannel openChannel(String ext)
-//    {
-//        RandomAccessFile out = open(ext, "rw") ;
-//        return out.getChannel() ;
-//    }
 }

Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/PlainFilePersistent.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/PlainFilePersistent.java?rev=1210502&r1=1210501&r2=1210502&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/PlainFilePersistent.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/file/PlainFilePersistent.java Mon Dec  5 15:42:32 2011
@@ -19,7 +19,6 @@
 package com.hp.hpl.jena.tdb.base.file;
 
 import java.io.IOException ;
-import java.io.RandomAccessFile ;
 import java.nio.ByteBuffer ;
 import java.nio.channels.FileChannel ;
 
@@ -32,9 +31,7 @@ public class PlainFilePersistent extends
 {
     private static Logger log = LoggerFactory.getLogger(PlainFilePersistent.class) ;
     
-    private FileChannel channel ;
-    private RandomAccessFile out ;
-    private String filename ;
+    private FileBase file ;
 
     // Plain file over mmapped ByteBuffer 
     PlainFilePersistent(Location loc, String filename)
@@ -44,50 +41,28 @@ public class PlainFilePersistent extends
     
     PlainFilePersistent(String filename)
     {
-        try {
-            this.filename = filename ;
-            // "rwd" - Syncs only the file contents
-            // "rws" - Syncs the file contents and metadata
-            // "rw" - cached?
-            
-            out = new RandomAccessFile(filename, "rw") ;
-            long filesize = out.length() ;
-            channel = out.getChannel() ;
-            byteBuffer = allocateBuffer(filesize) ;
-            //if ( channel.size() == 0 ) {}
-        } catch (IOException ex) { throw new FileException("Failed to create BlockMgrFile", ex) ; }
+        file = new FileBase(filename) ;
+        //long filesize = file.out.length() ;
+        //if ( channel.size() == 0 ) {}
+        byteBuffer = allocateBuffer(filesize) ;
     }
     
-    protected PlainFilePersistent() 
-    {
-        channel = null ;
-        out = null ;
-    }
-    
-    
     @Override
     public void sync()
     { 
-        try { channel.force(true) ; } 
-        catch (IOException ex) { IO.exception(ex) ; }
+        file.sync() ; 
     }
     
     @Override
     public void close()
     {
-        try {
-            sync() ;
-            out.close();        // Closes the channel.
-            channel = null ;
-            out = null ;
-        } catch (IOException ex) { IO.exception(ex) ; }
-
+        file.close() ;
     }
 
     @Override
     protected ByteBuffer allocateBuffer(long size)
     {
-        try { return channel.map(FileChannel.MapMode.READ_WRITE, 0, size) ; }
+        try { return file.channel.map(FileChannel.MapMode.READ_WRITE, 0, size) ; }
         catch (IOException ex)  { IO.exception(ex) ; return null ; }
     }
 }

Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/objectfile/ObjectFileStorage.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/objectfile/ObjectFileStorage.java?rev=1210502&r1=1210501&r2=1210502&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/objectfile/ObjectFileStorage.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/objectfile/ObjectFileStorage.java Mon Dec  5 15:42:32 2011
@@ -47,7 +47,7 @@ public class ObjectFileStorage implement
     private void log(String fmt, Object... args)
     { 
         if ( ! logging ) return ;
-        log.info(state()+" "+String.format(fmt, args)) ;
+        log.debug(state()+" "+String.format(fmt, args)) ;
     }
     
     /* 
@@ -231,20 +231,21 @@ public class ObjectFileStorage implement
     }
 
     @Override
-    public void reposition(long id)
+    public void reposition(long posn)
     {
         if ( inAllocWrite )
             throw new FileException("In the middle of an alloc-write") ;
-        if ( id < 0 || id > length() )
-            throw new IllegalArgumentException("reposition: Bad location: "+id) ;
+        if ( posn < 0 || posn > length() )
+            throw new IllegalArgumentException("reposition: Bad location: "+posn) ;
         flushOutputBuffer() ;
-        file.truncate(id) ;
-        filesize = id ;
+        file.truncate(posn) ;
+        filesize = posn ;
     }
 
     @Override
     public void truncate(long size)
     {
+        //System.out.println("truncate: "+size+" ("+filesize+","+writeBuffer.position()+")") ;
         reposition(size) ;
     }
 
@@ -256,14 +257,14 @@ public class ObjectFileStorage implement
         if ( inAllocWrite )
             throw new FileException("In the middle of an alloc-write") ;
         if ( loc < 0 )
-            throw new IllegalArgumentException("ObjectFile.read: Bad read: "+loc) ;
+            throw new IllegalArgumentException("ObjectFile.read["+file.getLabel()+"]: Bad read: "+loc) ;
         
         // Maybe it's in the in the write buffer.
         // Maybe the write buffer should keep more structure? 
         if ( loc >= filesize )
         {
             if ( loc >= filesize+writeBuffer.position() )
-                throw new IllegalArgumentException("ObjectFile.read: Bad read: location="+loc+" >= max="+(filesize+writeBuffer.position())) ;
+                throw new IllegalArgumentException("ObjectFile.read["+file.getLabel()+"]: Bad read: location="+loc+" >= max="+(filesize+writeBuffer.position())) ;
             
             int x = writeBuffer.position() ;
             int y = writeBuffer.limit() ;
@@ -284,12 +285,12 @@ public class ObjectFileStorage implement
         lengthBuffer.clear() ;
         int x = file.read(lengthBuffer, loc) ;
         if ( x != 4 )
-            throw new FileException("ObjectFile.read("+loc+")["+filesize+"]["+file.size()+"]: Failed to read the length : got "+x+" bytes") ;
+            throw new FileException("ObjectFile.read["+file.getLabel()+"]("+loc+")["+filesize+"]["+file.size()+"]: Failed to read the length : got "+x+" bytes") ;
         int len = lengthBuffer.getInt(0) ;
         // Sanity check. 
         if ( len > filesize-(loc+SizeOfInt) )
         {
-            String msg = "ObjectFile.read("+loc+")["+filesize+"]["+file.size()+"]: Impossibly large object : "+len+" bytes" ;
+            String msg = "ObjectFile.read["+file.getLabel()+"]("+loc+")["+filesize+"]["+file.size()+"]: Impossibly large object : "+len+" bytes" ;
             SystemTDB.errlog.error(msg) ;
             throw new FileException(msg) ;
         }

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=1210502&r1=1210501&r2=1210502&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 Mon Dec  5 15:42:32 2011
@@ -57,6 +57,9 @@ public class NodeTableTrans implements N
     private final String label ;
     private final Transaction txn ;     // Can be null (during recovery).
     
+    // *** TEMPORARY!
+    public static boolean FIXUP = false ;  
+    
     public NodeTableTrans(Transaction txn, String label, NodeTable sub, Index nodeIndex, ObjectFile objFile)
     {
         this.txn = txn ;
@@ -169,7 +172,7 @@ public class NodeTableTrans implements N
             // repeat for debugging.
             journalObjFile.length() ;
             
-            if ( false )
+            if ( FIXUP )
             {
                 // TEMP : if you see this code active in SVN, set it to false immediately.
                 // The question is how come the journal position was non-zero in the first place. 
@@ -316,7 +319,7 @@ public class NodeTableTrans implements N
     @Override
     public void commitClearup(Transaction txn)
     {
-        debug("commitClearup") ;
+        debug("%s ** commitClearup: %s",  txn.getLabel(), label) ;
         finish() ;
     }
 

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=1210502&r1=1210501&r2=1210502&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 Mon Dec  5 15:42:32 2011
@@ -48,8 +48,11 @@ import com.hp.hpl.jena.tdb.DatasetGraphT
 import com.hp.hpl.jena.tdb.StoreConnection ;
 import com.hp.hpl.jena.tdb.TDBException ;
 import com.hp.hpl.jena.tdb.base.block.FileMode ;
+import com.hp.hpl.jena.tdb.base.file.FileBase ;
 import com.hp.hpl.jena.tdb.base.file.Location ;
+import com.hp.hpl.jena.tdb.base.objectfile.ObjectFileStorage ;
 import com.hp.hpl.jena.tdb.sys.SystemTDB ;
+import com.hp.hpl.jena.tdb.transaction.NodeTableTrans ;
 import com.hp.hpl.jena.tdb.transaction.SysTxnState ;
 import com.hp.hpl.jena.tdb.transaction.TransactionManager ;
 
@@ -107,7 +110,11 @@ public class Jena163_TDBDifferentIds
     private static boolean inlineProgress       = true ;   // Set true so that every transaction print a letter for what it does.
     
     static {
+        // Clearup !!!!!!!!!!!!!
         TransactionManager.DEBUG = inlineProgress ; 
+        ObjectFileStorage.logging = true ;
+        FileBase.DEBUG = true ;
+        NodeTableTrans.FIXUP = true ;
     }
     
     // Queue treads starting