You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2017/10/09 21:14:52 UTC

svn commit: r1811608 - /directory/mavibot/branches/single-value/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java

Author: elecharny
Date: Mon Oct  9 21:14:51 2017
New Revision: 1811608

URL: http://svn.apache.org/viewvc?rev=1811608&view=rev
Log:
Fixed many compilation failures (but we still have some)

Modified:
    directory/mavibot/branches/single-value/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java

Modified: directory/mavibot/branches/single-value/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java
URL: http://svn.apache.org/viewvc/directory/mavibot/branches/single-value/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java?rev=1811608&r1=1811607&r2=1811608&view=diff
==============================================================================
--- directory/mavibot/branches/single-value/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java (original)
+++ directory/mavibot/branches/single-value/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java Mon Oct  9 21:14:51 2017
@@ -194,9 +194,9 @@ public class MavibotInspector
     /**
      * Check a B-tree
      */
-    public void inspectBTree( RecordManagerHeader recordManagerHeader )
+    public void inspectBTree( RecordManager recordManager, String btree )
     {
-        if ( rm == null )
+        if ( recordManager == null )
         {
             System.out.println( "Cannot check BTree(s)" );
             return;
@@ -216,9 +216,9 @@ public class MavibotInspector
         System.out.println( "\nBTree offset: " + String.format( "0x%1$08x", pb.getBtreeOffset() ) );
         System.out.println( "BTree _info_ offset: " + String.format( "0x%1$08x", pb.getBtreeInfoOffset() ) );
         System.out.println( "BTree root page offset: " + String.format( "0x%1$08x", pb.getRootPageOffset() ) );
-        System.out.println( "Number of elements present: " + pb.getNbElems( recordManagerHeader ) );
-        System.out.println( "BTree Page size: " + pb.getNbElems( recordManagerHeader ) );
-        System.out.println( "BTree revision: " + pb.getRevision( recordManagerHeader ) );
+        System.out.println( "Number of elements present: " + pb.getNbElems() );
+        System.out.println( "BTree Page size: " + pb.getNbElems() );
+        System.out.println( "BTree revision: " + pb.getRevision() );
         System.out.println( "Key serializer: " + pb.getKeySerializerFQCN() );
         System.out.println( "Value serializer: " + pb.getValueSerializerFQCN() );
         System.out.println();
@@ -254,12 +254,14 @@ public class MavibotInspector
     /**
      * Check the whole file
      */
-    /* no qualifier */static void check( RecordManager recordManager, RecordManagerHeader recordManagerHeader )
+    /* no qualifier */static void check( RecordManager recordManager )
     {
+        RecordManagerHeader recordManagerHeader = recordManager.getCurrentRecordManagerHeader();
+        
         try
         {
             // Dump the infos
-            //dumpInfos( recordManager, recordManagerHeader );
+            dumpInfos( recordManager, recordManagerHeader );
             
             rm = recordManager;
 
@@ -416,7 +418,7 @@ public class MavibotInspector
             
         // Read the BOB header
         PageIO[] bobHeaderPageIos = recordManager
-            .readPageIOs( recordManagerHeader, recordManagerHeader.currentBtreeOfBtreesOffset, Long.MAX_VALUE );
+            .readPageIOs( recordManagerHeader.pageSize, recordManagerHeader.currentBtreeOfBtreesOffset, Long.MAX_VALUE );
 
         // update the checkedPages
         updateCheckedPages( recordManagerHeader, checkedPages.get( BTreeConstants.BTREE_OF_BTREES_NAME ), recordManager.getPageSize( recordManagerHeader ),
@@ -426,26 +428,26 @@ public class MavibotInspector
         long dataPos = 0L;
 
         // The B-tree header page ID
-        recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree current revision
-        recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The nb elems in the tree
-        recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree rootPage offset
-        long rootPageOffset = recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        long rootPageOffset = recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
 
         checkOffset( recordManager, recordManagerHeader, rootPageOffset );
 
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree info offset
-        long btreeInfoOffset = recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        long btreeInfoOffset = recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
 
         checkOffset( recordManager, recordManagerHeader, btreeInfoOffset );
 
@@ -466,7 +468,7 @@ public class MavibotInspector
         
         // Read the BOB header
         PageIO[] bobHeaderPageIos = recordManager
-            .readPageIOs( recordManagerHeader, recordManagerHeader.currentBtreeOfBtreesOffset, Long.MAX_VALUE );
+            .readPageIOs( recordManagerHeader.pageSize, recordManagerHeader.currentBtreeOfBtreesOffset, Long.MAX_VALUE );
 
         // Get the offset
         long bobHeaderOffset = bobHeaderPageIos[0].getOffset();
@@ -474,24 +476,24 @@ public class MavibotInspector
         long dataPos = 0L;
 
         // The B-tree header page ID
-        long id = recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        long id = recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree current revision
-        long revision = recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        long revision = recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The nb elems in the tree
-        recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree rootPage offset
-        long rootPageOffset = recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        long rootPageOffset = recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
 
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree info offset
-        long infoOffset = recordManager.readLong( recordManagerHeader, bobHeaderPageIos, dataPos );
+        long infoOffset = recordManager.readLong( recordManagerHeader.pageSize, bobHeaderPageIos, dataPos );
         
         // Dump the header
         sb.append( String.format( "0x%04X", bobHeaderOffset ) ).append( " BOB H[" ).append( revision ).append( "] : " );
@@ -515,13 +517,13 @@ public class MavibotInspector
     /**
      * Dump the Copied Pages B-tree
      */
-    private static void dumpCopiedPagesBtree( RecordManager recordManager, RecordManagerHeader recordManagerHeader, String[] pages ) throws Exception
+    private static void dumpCopiedPagesBtree( RecordManager recordManager, RecordManagerHeader recordManagerHeader, String[] pages ) throws EndOfFileExceededException, IOException
     {
         StringBuilder sb = new StringBuilder();
         
         // Read the CPB header
         PageIO[] cpbbHeaderPageIos = recordManager
-            .readPageIOs( recordManagerHeader, recordManagerHeader.currentCopiedPagesBtreeOffset, Long.MAX_VALUE );
+            .readPageIOs( recordManagerHeader.pageSize, recordManagerHeader.currentCopiedPagesBtreeOffset, Long.MAX_VALUE );
 
         // Get the offset
         long cpbHeaderOffset = cpbbHeaderPageIos[0].getOffset();
@@ -529,24 +531,24 @@ public class MavibotInspector
         long dataPos = 0L;
 
         // The B-tree page ID
-        long id = recordManager.readLong( recordManagerHeader, cpbbHeaderPageIos, dataPos );
+        long id = recordManager.readLong( recordManagerHeader.pageSize, cpbbHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree current revision
-        long revision = recordManager.readLong( recordManagerHeader, cpbbHeaderPageIos, dataPos );
+        long revision = recordManager.readLong( recordManagerHeader.pageSize, cpbbHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The nb elems in the tree
-        recordManager.readLong( recordManagerHeader, cpbbHeaderPageIos, dataPos );
+        recordManager.readLong( recordManagerHeader.pageSize, cpbbHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree rootPage offset
-        long rootPageOffset = recordManager.readLong( recordManagerHeader, cpbbHeaderPageIos, dataPos );
+        long rootPageOffset = recordManager.readLong( recordManagerHeader.pageSize, cpbbHeaderPageIos, dataPos );
 
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree info offset
-        long infoOffset = recordManager.readLong( recordManagerHeader, cpbbHeaderPageIos, dataPos );
+        long infoOffset = recordManager.readLong( recordManagerHeader.pageSize, cpbbHeaderPageIos, dataPos );
         
         // Dump the header
         sb.append( String.format( "0x%04X", cpbHeaderOffset ) ).append( " CPB H[" ).append( revision ).append( "] : " );
@@ -565,9 +567,10 @@ public class MavibotInspector
     /**
      * Dump a BTree info
      */
-    private static <K, V> BTreeInfo<K, V> dumpBtreeInfo( RecordManager recordManager, RecordManagerHeader recordManagerHeader, long offset, String btreeName, String[] pages ) throws EndOfFileExceededException, IOException
+    private static <K, V> BTreeInfo<K, V> dumpBtreeInfo( RecordManager recordManager, RecordManagerHeader recordManagerHeader, long offset, String btreeName, String[] pages ) 
+        throws EndOfFileExceededException, IOException
     {
-        PageIO[] infoPageIos = recordManager .readPageIOs( recordManagerHeader, offset, Long.MAX_VALUE );
+        PageIO[] infoPageIos = recordManager .readPageIOs( recordManagerHeader.pageSize, offset, Long.MAX_VALUE );
         StringBuilder sb = new StringBuilder();
         sb.append( String.format( "0x%04X", offset ) ).append( ' ' ).append( btreeName ).append( " Info" );
         BTreeInfo<K, V> btreeInfo = new BTreeInfo<>();
@@ -598,16 +601,16 @@ public class MavibotInspector
         
         // The B-tree page size
         int dataPos = 0;
-        btreeInfo.setPageNbElem( recordManager.readInt( recordManagerHeader, infoPageIos, dataPos ) );
+        btreeInfo.setPageNbElem( recordManager.readInt( recordManagerHeader.pageSize, infoPageIos, dataPos ) );
         dataPos += BTreeConstants.INT_SIZE;
 
         // The tree name
-        ByteBuffer btreeNameBytes = recordManager.readBytes( recordManagerHeader, infoPageIos, dataPos );
+        ByteBuffer btreeNameBytes = recordManager.readBytes( recordManagerHeader.pageSize, infoPageIos, dataPos );
         dataPos += BTreeConstants.INT_SIZE + btreeNameBytes.limit();
         btreeInfo.setName( Strings.utf8ToString( btreeNameBytes ) );
 
         // The keySerializer FQCN
-        ByteBuffer keySerializerBytes = recordManager.readBytes( recordManagerHeader, infoPageIos, dataPos );
+        ByteBuffer keySerializerBytes = recordManager.readBytes( recordManagerHeader.pageSize, infoPageIos, dataPos );
 
         if ( keySerializerBytes != null )
         {
@@ -620,7 +623,7 @@ public class MavibotInspector
         dataPos += BTreeConstants.INT_SIZE + keySerializerBytes.limit();
 
         // The valueSerialier FQCN
-        ByteBuffer valueSerializerBytes = recordManager.readBytes( recordManagerHeader, infoPageIos, dataPos );
+        ByteBuffer valueSerializerBytes = recordManager.readBytes( recordManagerHeader.pageSize, infoPageIos, dataPos );
 
         if ( valueSerializerBytes != null )
         {
@@ -641,21 +644,21 @@ public class MavibotInspector
         LongArraySerializer valueSerializer, String[] pages ) throws IOException
     {
         // Process the rootPage
-        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader, rootPageOffset, Long.MAX_VALUE );
+        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader.pageSize, rootPageOffset, Long.MAX_VALUE );
 
         // Deserialize the page now
         long position = 0L;
 
         // The page ID
-        long id = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long id = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The revision
-        long revision = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long revision = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The number of elements in the page
-        int nbElems = recordManager.readInt( recordManagerHeader, pageIos, position );
+        int nbElems = recordManager.readInt( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.INT_SIZE;
         
         if ( nbElems == 0 )
@@ -673,7 +676,7 @@ public class MavibotInspector
         // Reads the bytes containing all the keys and values, if we have some
         // We read  big blob of data into  ByteBuffer, then we will process
         // this ByteBuffer
-        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader, pageIos, position );
+        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader.pageSize, pageIos, position );
 
         // Now, deserialize the data block. If the number of elements
         // is positive, it's a Leaf, otherwise it's a Node
@@ -724,21 +727,21 @@ public class MavibotInspector
         LongSerializer valueSerializer, String[] pages ) throws IOException
     {
         // Process the rootPage
-        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader, rootPageOffset, Long.MAX_VALUE );
+        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader.pageSize, rootPageOffset, Long.MAX_VALUE );
 
         // Deserialize the page now
         long position = 0L;
 
         // The page ID
-        long id = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long id = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The revision
-        long revision = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long revision = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The number of elements in the page
-        int nbElems = recordManager.readInt( recordManagerHeader, pageIos, position );
+        int nbElems = recordManager.readInt( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.INT_SIZE;
         
         if ( nbElems == 0 )
@@ -756,7 +759,7 @@ public class MavibotInspector
         // Reads the bytes containing all the keys and values, if we have some
         // We read  big blob of data into  ByteBuffer, then we will process
         // this ByteBuffer
-        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader, pageIos, position );
+        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader.pageSize, pageIos, position );
 
         // Now, deserialize the data block. If the number of elements
         // is positive, it's a Leaf, otherwise it's a Node
@@ -912,29 +915,29 @@ public class MavibotInspector
         StringBuilder sb = new StringBuilder();
         
         // Read the CPB header
-        PageIO[] btreeOffsetPageIos = recordManager.readPageIOs( recordManagerHeader, headerOffset, Long.MAX_VALUE );
+        PageIO[] btreeOffsetPageIos = recordManager.readPageIOs( recordManagerHeader.pageSize, headerOffset, Long.MAX_VALUE );
 
         long dataPos = 0L;
 
         // The B-tree header page ID
-        long id = recordManager.readLong( recordManagerHeader, btreeOffsetPageIos, dataPos );
+        long id = recordManager.readLong( recordManagerHeader.pageSize, btreeOffsetPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree current revision
-        long revision = recordManager.readLong( recordManagerHeader, btreeOffsetPageIos, dataPos );
+        long revision = recordManager.readLong( recordManagerHeader.pageSize, btreeOffsetPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The nb elems in the tree
-        recordManager.readLong( recordManagerHeader, btreeOffsetPageIos, dataPos );
+        recordManager.readLong( recordManagerHeader.pageSize, btreeOffsetPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree rootPage offset
-        long rootPageOffset = recordManager.readLong( recordManagerHeader, btreeOffsetPageIos, dataPos );
+        long rootPageOffset = recordManager.readLong( recordManagerHeader.pageSize, btreeOffsetPageIos, dataPos );
 
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree info offset
-        long infoOffset = recordManager.readLong( recordManagerHeader, btreeOffsetPageIos, dataPos );
+        long infoOffset = recordManager.readLong( recordManagerHeader.pageSize, btreeOffsetPageIos, dataPos );
         
         // Dump the header
         sb.append( String.format( "0x%04X", headerOffset ) ).append( ' ' ).append( btreeName ).append( " H[" ).append( revision ).append( "] : " );
@@ -967,21 +970,21 @@ public class MavibotInspector
         String[] pages ) throws IOException
     {
         // Process the rootPage
-        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader, rootPageOffset, Long.MAX_VALUE );
+        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader.pageSize, rootPageOffset, Long.MAX_VALUE );
 
         // Deserialize the page now
         long position = 0L;
 
         // The pageID
-        long id = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long id = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The revision
-        long revision = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long revision = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The number of elements in the page
-        int nbElems = recordManager.readInt( recordManagerHeader, pageIos, position );
+        int nbElems = recordManager.readInt( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.INT_SIZE;
         
         if ( nbElems == 0 )
@@ -999,7 +1002,7 @@ public class MavibotInspector
         // Reads the bytes containing all the keys and values, if we have some
         // We read  big blob of data into  ByteBuffer, then we will process
         // this ByteBuffer
-        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader, pageIos, position );
+        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader.pageSize, pageIos, position );
 
         // Now, deserialize the data block. If the number of elements
         // is positive, it's a Leaf, otherwise it's a Node
@@ -1101,7 +1104,7 @@ public class MavibotInspector
     {
         StringBuilder sb = new StringBuilder();
 
-        sb.append( String.format( "0x%04X", pageOffset ) ).append( ' ' ).append( btreeInfo.getBtreeName() ).append( " RP[" ).append( revision ).append( "](n) : " );
+        sb.append( String.format( "0x%04X", pageOffset ) ).append( ' ' ).append( btreeInfo.getName() ).append( " RP[" ).append( revision ).append( "](n) : " );
         
         long[] children = new long[nbElems + 1];
         int i = 0;
@@ -1266,31 +1269,31 @@ public class MavibotInspector
         Map<String, int[]> checkedPages ) throws Exception
     {
         // Read the B-tree header
-        PageIO[] btreeHeaderPageIos = recordManager.readPageIOs( recordManagerHeader, btreeOffset, Long.MAX_VALUE );
+        PageIO[] btreeHeaderPageIos = recordManager.readPageIOs( recordManagerHeader.pageSize, btreeOffset, Long.MAX_VALUE );
 
         long dataPos = 0L;
 
         // The B-tree page ID
-        long id = recordManager.readLong( recordManagerHeader, btreeHeaderPageIos, dataPos );
+        long id = recordManager.readLong( recordManagerHeader.pageSize, btreeHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree current revision
-        long btreeRevision = recordManager.readLong( recordManagerHeader, btreeHeaderPageIos, dataPos );
+        long btreeRevision = recordManager.readLong( recordManagerHeader.pageSize, btreeHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The nb elems in the tree
-        recordManager.readLong( recordManagerHeader, btreeHeaderPageIos, dataPos );
+        recordManager.readLong( recordManagerHeader.pageSize, btreeHeaderPageIos, dataPos );
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree rootPage offset
-        long rootPageOffset = recordManager.readLong( recordManagerHeader, btreeHeaderPageIos, dataPos );
+        long rootPageOffset = recordManager.readLong( recordManagerHeader.pageSize, btreeHeaderPageIos, dataPos );
 
         checkOffset( recordManager, recordManagerHeader, rootPageOffset );
 
         dataPos += BTreeConstants.LONG_SIZE;
 
         // The B-tree info offset
-        long btreeInfoOffset = recordManager.readLong( recordManagerHeader, btreeHeaderPageIos, dataPos );
+        long btreeInfoOffset = recordManager.readLong( recordManagerHeader.pageSize, btreeHeaderPageIos, dataPos );
 
         checkOffset( recordManager, recordManagerHeader, btreeInfoOffset );
 
@@ -1311,7 +1314,7 @@ public class MavibotInspector
     private static <K, V> void checkBtreePage( RecordManager recordManager, RecordManagerHeader recordManagerHeader, BTreeInfo<K, V> btreeInfo,
         Map<String, int[]> checkedPages, long pageOffset ) throws Exception
     {
-        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader, pageOffset, Long.MAX_VALUE );
+        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader.pageSize, pageOffset, Long.MAX_VALUE );
 
         // Update the checkedPages array
         updateCheckedPages( recordManagerHeader, checkedPages.get( btreeInfo.getName() ), recordManager.getPageSize( recordManagerHeader ), pageIos );
@@ -1321,22 +1324,22 @@ public class MavibotInspector
         long position = 0L;
 
         // The page ID
-        long id = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long id = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The revision
-        long revision = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long revision = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The number of elements in the page
-        int nbElems = recordManager.readInt( recordManagerHeader, pageIos, position );
+        int nbElems = recordManager.readInt( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.INT_SIZE;
 
         // The size of the data containing the keys and values
         // Reads the bytes containing all the keys and values, if we have some
         // We read  big blob of data into  ByteBuffer, then we will process
         // this ByteBuffer
-        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader, pageIos, position );
+        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader.pageSize, pageIos, position );
 
         // Now, deserialize the data block. If the number of elements
         // is positive, it's a Leaf, otherwise it's a Node
@@ -1370,21 +1373,21 @@ public class MavibotInspector
     {
         BTreeInfo<K, V> btreeInfo = new BTreeInfo<>();
 
-        PageIO[] btreeInfoPagesIos = recordManager.readPageIOs( recordManagerHeader, btreeInfoOffset, Long.MAX_VALUE );
+        PageIO[] btreeInfoPagesIos = recordManager.readPageIOs( recordManagerHeader.pageSize, btreeInfoOffset, Long.MAX_VALUE );
 
         long dataPos = 0L;
 
         // The B-tree page size
-        recordManager.readInt( recordManagerHeader, btreeInfoPagesIos, dataPos );
+        recordManager.readInt( recordManagerHeader.pageSize, btreeInfoPagesIos, dataPos );
         dataPos += BTreeConstants.INT_SIZE;
 
         // The tree name
-        ByteBuffer btreeNameBytes = recordManager.readBytes( recordManagerHeader, btreeInfoPagesIos, dataPos );
+        ByteBuffer btreeNameBytes = recordManager.readBytes( recordManagerHeader.pageSize, btreeInfoPagesIos, dataPos );
         dataPos += BTreeConstants.INT_SIZE + btreeNameBytes.limit();
         String btreeName = Strings.utf8ToString( btreeNameBytes );
 
         // The keySerializer FQCN
-        ByteBuffer keySerializerBytes = recordManager.readBytes( recordManagerHeader, btreeInfoPagesIos, dataPos );
+        ByteBuffer keySerializerBytes = recordManager.readBytes( recordManagerHeader.pageSize, btreeInfoPagesIos, dataPos );
 
         if ( keySerializerBytes != null )
         {
@@ -1396,7 +1399,7 @@ public class MavibotInspector
         dataPos += BTreeConstants.INT_SIZE + keySerializerBytes.limit();
 
         // The valueSerialier FQCN
-        ByteBuffer valueSerializerBytes = recordManager.readBytes( recordManagerHeader, btreeInfoPagesIos, dataPos );
+        ByteBuffer valueSerializerBytes = recordManager.readBytes( recordManagerHeader.pageSize, btreeInfoPagesIos, dataPos );
 
         if ( valueSerializerBytes != null )
         {
@@ -1408,7 +1411,7 @@ public class MavibotInspector
         dataPos += BTreeConstants.INT_SIZE + valueSerializerBytes.limit();
 
         // The B-tree allowDuplicates flag
-        recordManager.readInt( recordManagerHeader, btreeInfoPagesIos, dataPos );
+        recordManager.readInt( recordManagerHeader.pageSize, btreeInfoPagesIos, dataPos );
         dataPos += BTreeConstants.INT_SIZE;
 
         // update the checkedPages
@@ -1477,7 +1480,7 @@ public class MavibotInspector
     private static <K, V> void checkBtreeOfBtreesPage( RecordManager recordManager, RecordManagerHeader recordManagerHeader, Map<String, int[]> checkedPages,
         long pageOffset ) throws Exception
     {
-        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader, pageOffset, Long.MAX_VALUE );
+        PageIO[] pageIos = recordManager.readPageIOs( recordManagerHeader.pageSize, pageOffset, Long.MAX_VALUE );
 
         // Update the checkedPages array
         updateCheckedPages( recordManagerHeader, checkedPages.get( BTreeConstants.BTREE_OF_BTREES_NAME ), recordManager.getPageSize( recordManagerHeader ), pageIos );
@@ -1487,22 +1490,22 @@ public class MavibotInspector
         long position = 0L;
 
         // The page ID
-        long id = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long id = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The revision
-        long revision = recordManager.readLong( recordManagerHeader, pageIos, position );
+        long revision = recordManager.readLong( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.LONG_SIZE;
 
         // The number of elements in the page
-        int nbElems = recordManager.readInt( recordManagerHeader, pageIos, position );
+        int nbElems = recordManager.readInt( recordManagerHeader.pageSize, pageIos, position );
         position += BTreeConstants.INT_SIZE;
 
         // The size of the data containing the keys and values
         // Reads the bytes containing all the keys and values, if we have some
         // We read  big blob of data into  ByteBuffer, then we will process
         // this ByteBuffer
-        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader, pageIos, position );
+        ByteBuffer byteBuffer = recordManager.readBytes( recordManagerHeader.pageSize, pageIos, position );
 
         // Now, deserialize the data block. If the number of elements
         // is positive, it's a Leaf, otherwise it's a Node
@@ -1748,7 +1751,7 @@ public class MavibotInspector
 
             try
             {
-                PageIO pageIo = recordManager.fetchPage( recordManagerHeader.pageSize, currentOffset );
+                PageIO pageIo = recordManager.fetchPageIO( recordManagerHeader.pageSize, currentOffset );
 
                 if ( currentOffset != pageIo.getOffset() )
                 {
@@ -1998,7 +2001,7 @@ public class MavibotInspector
 
                 case 'c':
                     long fileSize = rm.fileChannel.size();
-                    long nbPages = fileSize / rm.getPageSize();
+                    long nbPages = fileSize / rm.getPageSize( rm.getCurrentRecordManagerHeader() );
                     int nbPageBits = ( int ) ( nbPages / BTreeConstants.INT_SIZE );
 
                     Map<String, int[]> checkedPages = new HashMap<String, int[]>( 2 );
@@ -2009,7 +2012,7 @@ public class MavibotInspector
                     // The freePages array
                     checkedPages.put( FREE_PAGES_NAME, new int[nbPageBits + 1] );
 
-                    checkFreePages( rm, checkedPages );
+                    checkFreePages( rm, rm.getCurrentRecordManagerHeader(), checkedPages );
                     break;
 
                 case 's':
@@ -2025,7 +2028,7 @@ public class MavibotInspector
                     break;
 
                 case 'o':
-                    readPageAt();
+                    readPageAt(rm.getCurrentRecordManagerHeader() );
                     break;
                 case 'q':
                     stop = true;