Author: kayyagari
Date: Sun Jul  7 04:50:31 2013
New Revision: 1500369

URL: http://svn.apache.org/r1500369
Log:
o set the BTree offset after loading the duplicate btree
o reset the page data before reuse

Modified:
    
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RecordManager.java

Modified: 
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RecordManager.java
URL: 
http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RecordManager.java?rev=1500369&r1=1500368&r2=1500369&view=diff
==============================================================================
--- 
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RecordManager.java
 (original)
+++ 
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RecordManager.java
 Sun Jul  7 04:50:31 2013
@@ -363,6 +363,7 @@ public class RecordManager
                 // Create the BTree
                 BTree<?, ?> btree = BTreeFactory.createBTree();
                 btree.setBtreeOffset( nextBtreeOffset );
+                lastAddedBTreeOffset = nextBtreeOffset;
 
                 // Read the associated pages
                 pageIos = readPages( nextBtreeOffset, Long.MAX_VALUE );
@@ -587,10 +588,11 @@ public class RecordManager
                 if ( btree.isAllowDuplicates() )
                 {
                     long value = OFFSET_SERIALIZER.deserialize( byteBuffer );
-                    // And the Revision BTree
+
                     pageIos = readPages( value, Long.MAX_VALUE );
 
                     BTree dupValueContainer = BTreeFactory.createBTree();
+                    dupValueContainer.setBtreeOffset(value);
 
                     try
                     {
@@ -1768,6 +1770,10 @@ public class RecordManager
             // Update the firstFreePage pointer
             firstFreePage = pageIo.getNextPage();
 
+            // overwrite the data of old page
+            ByteBuffer data = ByteBuffer.allocateDirect( pageSize );
+            pageIo.setData( data );
+            
             pageIo.setNextPage( NO_PAGE );
             pageIo.setSize( 0 );
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to