You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2014/07/11 14:35:52 UTC
svn commit: r1609705 - in /directory/mavibot/trunk/mavibot/src:
main/java/org/apache/directory/mavibot/btree/RecordManager.java
test/java/org/apache/directory/mavibot/btree/RecordManagerTest.java
Author: kayyagari
Date: Fri Jul 11 12:35:52 2014
New Revision: 1609705
URL: http://svn.apache.org/r1609705
Log:
o made CPB field and checkOffset() method package protected
o added a test that demonstrates bad offset values present in CPB after reloading RM
Modified:
directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/RecordManager.java
directory/mavibot/trunk/mavibot/src/test/java/org/apache/directory/mavibot/btree/RecordManagerTest.java
Modified: directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/RecordManager.java
URL: http://svn.apache.org/viewvc/directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/RecordManager.java?rev=1609705&r1=1609704&r2=1609705&view=diff
==============================================================================
--- directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/RecordManager.java (original)
+++ directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/RecordManager.java Fri Jul 11 12:35:52 2014
@@ -106,7 +106,7 @@ public class RecordManager extends Abstr
* A B-tree used to manage the page that has been copied in a new version.
* Those pages can be reclaimed when the associated version is dead.
**/
- private BTree<RevisionName, long[]> copiedPageBtree;
+ /* no qualifier */ BTree<RevisionName, long[]> copiedPageBtree;
/** A constant for an offset on a non existing page */
public static final long NO_PAGE = -1L;
@@ -818,7 +818,7 @@ public class RecordManager extends Abstr
* @param offset The offset to check
* @throws InvalidOffsetException If the offset is not valid
*/
- private void checkOffset( long offset )
+ /* no qualifier */ void checkOffset( long offset )
{
if ( ( offset < 0 ) || ( offset > endOfFileOffset ) || ( ( offset % pageSize ) != 0 ) )
{
Modified: directory/mavibot/trunk/mavibot/src/test/java/org/apache/directory/mavibot/btree/RecordManagerTest.java
URL: http://svn.apache.org/viewvc/directory/mavibot/trunk/mavibot/src/test/java/org/apache/directory/mavibot/btree/RecordManagerTest.java?rev=1609705&r1=1609704&r2=1609705&view=diff
==============================================================================
--- directory/mavibot/trunk/mavibot/src/test/java/org/apache/directory/mavibot/btree/RecordManagerTest.java (original)
+++ directory/mavibot/trunk/mavibot/src/test/java/org/apache/directory/mavibot/btree/RecordManagerTest.java Fri Jul 11 12:35:52 2014
@@ -893,4 +893,35 @@ public class RecordManagerTest
btree.insert( 1L, "V1" );
btree.insert( 2L, "V2" );
}
+
+ @Test
+ @Ignore("Fails with bad offset error")
+ public void testOffsetsInCopiedPageBTree() throws Exception
+ {
+ btree.insert( 1L, "V1" );
+
+ checkCpbOffsets();
+
+ openRecordManagerAndBtree();
+
+ checkCpbOffsets();
+ }
+
+ private void checkCpbOffsets() throws Exception
+ {
+ TupleCursor<RevisionName, long[]> cursor = recordManager.copiedPageBtree.browse();
+
+ while( cursor.hasNext() )
+ {
+ Tuple<RevisionName, long[]> t = cursor.next();
+ long[] offsets = t.getValue();
+ for( long o : offsets )
+ {
+ recordManager.checkOffset( o );
+ }
+ }
+
+ cursor.close();
+ }
+
}