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/07/14 10:23:16 UTC
svn commit: r1610354 - in /directory/mavibot/trunk/mavibot/src:
main/java/org/apache/directory/mavibot/btree/serializer/
test/java/org/apache/directory/mavibot/btree/
Author: elecharny
Date: Mon Jul 14 08:23:16 2014
New Revision: 1610354
URL: http://svn.apache.org/r1610354
Log:
Fixed the bad CPB offset (due to a wrong LongArray deserialization)
Modified:
directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/serializer/LongArraySerializer.java
directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/serializer/LongSerializer.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/serializer/LongArraySerializer.java
URL: http://svn.apache.org/viewvc/directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/serializer/LongArraySerializer.java?rev=1610354&r1=1610353&r2=1610354&view=diff
==============================================================================
--- directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/serializer/LongArraySerializer.java (original)
+++ directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/serializer/LongArraySerializer.java Mon Jul 14 08:23:16 2014
@@ -307,8 +307,8 @@ public class LongArraySerializer extends
@Override
public long[] fromBytes( byte[] buffer, int pos ) throws IOException
{
- int newPos = pos;
- int len = IntSerializer.deserialize( buffer, newPos );
+ int len = IntSerializer.deserialize( buffer, pos );
+ int newPos = pos + 4;
switch ( len )
{
Modified: directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/serializer/LongSerializer.java
URL: http://svn.apache.org/viewvc/directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/serializer/LongSerializer.java?rev=1610354&r1=1610353&r2=1610354&view=diff
==============================================================================
--- directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/serializer/LongSerializer.java (original)
+++ directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/serializer/LongSerializer.java Mon Jul 14 08:23:16 2014
@@ -118,13 +118,13 @@ public class LongSerializer extends Abst
}
long result = ( ( long ) in[start] << 56 ) +
- ( ( in[start + 1] & 0xFFL ) << 48 ) +
- ( ( in[start + 2] & 0xFFL ) << 40 ) +
- ( ( in[start + 3] & 0xFFL ) << 32 ) +
- ( ( in[start + 4] & 0xFFL ) << 24 ) +
- ( ( in[start + 5] & 0xFFL ) << 16 ) +
- ( ( in[start + 6] & 0xFFL ) << 8 ) +
- ( in[start + 7] & 0xFFL );
+ ( ( in[start + 1] & 0x00FFL ) << 48 ) +
+ ( ( in[start + 2] & 0x00FFL ) << 40 ) +
+ ( ( in[start + 3] & 0x00FFL ) << 32 ) +
+ ( ( in[start + 4] & 0x00FFL ) << 24 ) +
+ ( ( in[start + 5] & 0x00FFL ) << 16 ) +
+ ( ( in[start + 6] & 0x00FFL ) << 8 ) +
+ ( in[start + 7] & 0x00FFL );
return result;
}
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=1610354&r1=1610353&r2=1610354&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 Mon Jul 14 08:23:16 2014
@@ -894,8 +894,8 @@ public class RecordManagerTest
btree.insert( 2L, "V2" );
}
+
@Test
- @Ignore("Fails with bad offset error")
public void testOffsetsInCopiedPageBTree() throws Exception
{
btree.insert( 1L, "V1" );
@@ -907,6 +907,7 @@ public class RecordManagerTest
checkCpbOffsets();
}
+
private void checkCpbOffsets() throws Exception
{
TupleCursor<RevisionName, long[]> cursor = recordManager.copiedPageBtree.browse();
@@ -915,6 +916,7 @@ public class RecordManagerTest
{
Tuple<RevisionName, long[]> t = cursor.next();
long[] offsets = t.getValue();
+
for( long o : offsets )
{
recordManager.checkOffset( o );