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 2014/05/07 17:11:52 UTC
svn commit: r1593034 -
/directory/mavibot/branches/with-txns/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java
Author: elecharny
Date: Wed May 7 15:11:51 2014
New Revision: 1593034
URL: http://svn.apache.org/r1593034
Log:
Added the code to check the CopiedPages b-tree. We now are checking the full file, except the sub-btrees.
Modified:
directory/mavibot/branches/with-txns/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java
Modified: directory/mavibot/branches/with-txns/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java
URL: http://svn.apache.org/viewvc/directory/mavibot/branches/with-txns/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java?rev=1593034&r1=1593033&r2=1593034&view=diff
==============================================================================
--- directory/mavibot/branches/with-txns/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java (original)
+++ directory/mavibot/branches/with-txns/mavibot/src/main/java/org/apache/directory/mavibot/btree/MavibotInspector.java Wed May 7 15:11:51 2014
@@ -341,58 +341,9 @@ public class MavibotInspector
checkBtreeOfBtrees( recordManager, checkedPages );
// And the Copied Pages BTree
- //checkCopiedPagesBtree( recordManager, checkedPages );
+ checkBtree( recordManager, currentCopiedPagesBtreeOffset, checkedPages );
- /*
- // The B-trees
- ///////////////////////
- // Now, read all the B-trees from the btree of btrees
- TupleCursor<NameRevision, Long> btreeCursor = btreeOfBtrees.browse();
- Map<String, Long> loadedBtrees = new HashMap<String, Long>();
-
- // loop on all the btrees we have, and keep only the latest revision
- long currentRevision = -1L;
-
- while ( btreeCursor.hasNext() )
- {
- Tuple<NameRevision, Long> btreeTuple = btreeCursor.next();
- NameRevision nameRevision = btreeTuple.getKey();
- long btreeOffset = btreeTuple.getValue();
- long revision = nameRevision.getValue();
-
- // Check if we already have processed this B-tree
- Long loadedBtreeRevision = loadedBtrees.get( nameRevision.getName() );
-
- if ( loadedBtreeRevision != null )
- {
- // The btree has already been loaded. The revision is necessarily higher
- if ( revision > currentRevision )
- {
- // We have a newer revision : switch to the new revision (we keep the offset atm)
- loadedBtrees.put( nameRevision.getName(), btreeOffset );
- currentRevision = revision;
- }
- }
- else
- {
- // This is a new B-tree
- loadedBtrees.put( nameRevision.getName(), btreeOffset );
- currentRevision = nameRevision.getRevision();
- }
- }
-
- // check the btrees
- for ( String btreeName : loadedBtrees.keySet() )
- {
- long btreeOffset = loadedBtrees.get( btreeName );
-
- PageIO[] btreePageIos = recordManager.readPageIOs( btreeOffset, Long.MAX_VALUE );
- checkBtree( recordManager, checkedPages, btreePageIos );
- }
-
- //////////////////////
- */
-
+ // We can now dump the checked pages
dumpCheckedPages( recordManager, checkedPages );
}
catch ( Exception e )
@@ -539,21 +490,6 @@ public class MavibotInspector
/**
- * Check the Copied pages Btree
- */
- private static void checkCopiedPagesBtree( RecordManager recordManager, int[] checkedPages ) throws EndOfFileExceededException, IOException
- {
- // Read the CPB header
- PageIO[] cpbHeaderPageIos = recordManager.readPageIOs( recordManager.currentCopiedPagesBtreeOffset, Long.MAX_VALUE );
-
- // update the checkedPages
- updateCheckedPages( checkedPages, recordManager.pageSize, cpbHeaderPageIos );
-
- //checkBtree( recordManager, checkedPages, pageSize, bobHeaderPageIos );
- }
-
-
- /**
* Check the Btree info page
* @throws ClassNotFoundException
*/
@@ -603,7 +539,7 @@ public class MavibotInspector
dataPos += RecordManager.INT_SIZE;
// update the checkedPages
- if ( btreeRevision != -1L )
+ if ( !RecordManager.COPIED_PAGE_BTREE_NAME.equals( btreeName ) && !RecordManager.BTREE_OF_BTREES_NAME.equals( btreeName ) )
{
btreeName = btreeName + "<" + btreeRevision + ">";
}
@@ -909,6 +845,10 @@ public class MavibotInspector
children[i] = firstOffset;
// Now, read the key
+ // The key lenth
+ byteBuffer.getInt();
+
+ // The key itself
btreeInfo.keySerializer.deserialize( byteBuffer );
}
@@ -1354,10 +1294,10 @@ final class BtreeInfo<K, V>
{
StringBuilder sb = new StringBuilder();
- sb.append( "B-tree Info : \n" );
- sb.append( " name : " ).append( btreeName );
- sb.append( " key serializer : " ).append( keySerializer.getClass().getName() );
- sb.append( " value serializer : " ).append( valueSerializer.getClass().getName() );
+ sb.append( "B-tree Info :" );
+ sb.append( "\n name : " ).append( btreeName );
+ sb.append( "\n key serializer : " ).append( keySerializer.getClass().getName() );
+ sb.append( "\n value serializer : " ).append( valueSerializer.getClass().getName() );
return sb.toString();
}