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]