Author: kayyagari
Date: Thu May 2 14:25:03 2013
New Revision: 1478383
URL: http://svn.apache.org/r1478383
Log:
o fixed some miscellaneous issues
o added a new method to return a new managed btree
o modified RecordManager tests to utilize the new changes
Modified:
labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/RecordManager.java
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerPrivateMethodTest.java
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerTest.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=1478383&r1=1478382&r2=1478383&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
Thu May 2 14:25:03 2013
@@ -35,6 +35,7 @@ import java.util.Set;
import org.apache.mavibot.btree.exception.BTreeAlreadyManagedException;
import org.apache.mavibot.btree.exception.EndOfFileExceededException;
import org.apache.mavibot.btree.exception.KeyNotFoundException;
+import org.apache.mavibot.btree.serializer.ElementSerializer;
import org.apache.mavibot.btree.serializer.IntSerializer;
import org.apache.mavibot.btree.serializer.LongArraySerializer;
import org.apache.mavibot.btree.serializer.LongSerializer;
@@ -57,9 +58,6 @@ public class RecordManager
/** The LoggerFactory used by this class */
protected static final Logger LOG = LoggerFactory.getLogger(
RecordManager.class );
- /** The file name */
- private String fileName;
-
/** The associated file */
private File file;
@@ -114,13 +112,13 @@ public class RecordManager
private static final int DEFAULT_PAGE_SIZE = 4 * 1024;
/** The RecordManager underlying page size. */
- private int pageSize = -1;
+ private int pageSize = DEFAULT_PAGE_SIZE;
/** A buffer used to read a page */
private ByteBuffer blockBuffer;
/** The set of managed BTrees */
- private Map<String, BTree<?, ?>> managedBTrees = new LinkedHashMap<String,
BTree<?, ?>>();
+ private Map<String, BTree<?, ?>> managedBTrees;
/** The offset on the last added BTree */
private long lastAddedBTreeOffset = NO_PAGE;
@@ -132,6 +130,10 @@ public class RecordManager
private static final LongSerializer OFFSET_SERIALIZER = new
LongSerializer();
+ private static final String REVISION_B_TREE_NAME = "_revisionBTree_";
+
+ private static final String COPIED_PAGE_B_TREE_NAME = "_copiedPageBTree_";
+
/**
* Create a Record manager which will either create the underlying file
* or load an existing one. If a folder is provided, then we will create
@@ -144,7 +146,6 @@ public class RecordManager
this( fileName, DEFAULT_PAGE_SIZE );
}
-
/**
* Create a Record manager which will either create the underlying file
* or load an existing one. If a folder is provider, then we will create
@@ -155,8 +156,8 @@ public class RecordManager
*/
public RecordManager( String fileName, int pageSize )
{
- this.fileName = fileName;
-
+ managedBTrees = new LinkedHashMap<String, BTree<?, ?>>();
+
// Open the file or create it
File tmpFile = new File( fileName );
boolean isNewFile = false;
@@ -172,6 +173,7 @@ public class RecordManager
try
{
mavibotFile.createNewFile();
+ isNewFile = true;
}
catch ( IOException ioe )
{
@@ -225,6 +227,7 @@ public class RecordManager
{
LOG.error( "Error while initializing the RecordManager : {}",
e.getMessage() );
LOG.error( "", e );
+ throw new RuntimeException( e );
}
}
@@ -264,10 +267,10 @@ public class RecordManager
endOfFileOffset = fileChannel.size();
// Now, initialize the Copied Page BTree
- copiedPageBTree = new BTree<Integer, long[]>( "copiedPageBTree", new
IntSerializer(), new LongArraySerializer() );
+ copiedPageBTree = new BTree<Integer, long[]>( COPIED_PAGE_B_TREE_NAME,
new IntSerializer(), new LongArraySerializer() );
// and initialize the Revision BTree
- revisionBTree = new BTree<RevisionName, Long>( "revisionBTree", new
RevisionNameSerializer(),
+ revisionBTree = new BTree<RevisionName, Long>( REVISION_B_TREE_NAME,
new RevisionNameSerializer(),
new LongSerializer() );
// Inject these BTrees into the RecordManager
@@ -339,6 +342,7 @@ public class RecordManager
loadBTree( pageIos, revisionBTree );
nextBtreeOffset = revisionBTree.getNextBTreeOffset();
+
// Then process the next ones
for ( int i = 2; i < nbBtree; i++ )
{
@@ -446,16 +450,9 @@ public class RecordManager
byte[] btreeNameBytes = readBytes( pageIos, dataPos );
dataPos += INT_SIZE;
- if ( btreeNameBytes != null )
- {
- dataPos += btreeNameBytes.length;
- String btreeName = Strings.utf8ToString( btreeNameBytes );
- BTreeFactory.setName( btree, btreeName );
- }
- else
- {
- BTreeFactory.setName( btree, "" );
- }
+ dataPos += btreeNameBytes.length;
+ String btreeName = Strings.utf8ToString( btreeNameBytes );
+ BTreeFactory.setName( btree, btreeName );
// The keySerializer FQCN
byte[] keySerializerBytes = readBytes( pageIos, dataPos );
@@ -836,7 +833,7 @@ public class RecordManager
*
* @param btree The new BTree to manage.
*/
- public synchronized void manage( BTree<?, ?> btree ) throws
BTreeAlreadyManagedException, IOException
+ private synchronized void manage( BTree<?, ?> btree ) throws
BTreeAlreadyManagedException, IOException
{
BTreeFactory.setRecordManager( btree, this );
@@ -1786,6 +1783,11 @@ public class RecordManager
{
// TODO : we must wait for the last write to finish
+ for( BTree tree : managedBTrees.values() )
+ {
+ tree.close();
+ }
+
// Write the data
fileChannel.force( true );
@@ -1863,13 +1865,11 @@ public class RecordManager
*/
public Set<String> getManagedTrees()
{
- Set<String> btrees = new HashSet<String>();
-
- for ( String btree : managedBTrees.keySet() )
- {
- btrees.add( btree );
- }
-
+ Set<String> btrees = new HashSet<String>( managedBTrees.keySet() );
+
+ btrees.remove( COPIED_PAGE_B_TREE_NAME );
+ btrees.remove( REVISION_B_TREE_NAME );
+
return btrees;
}
@@ -1927,4 +1927,33 @@ public class RecordManager
{
return managedBTrees.get( name );
}
+
+
+ /**
+ * Creates a BTree and automatically adds it to the list of managed btrees
+ *
+ * @param name the name of the BTree
+ * @param keySerializer key serializer
+ * @param valueSerializer value serializer
+ * @param allowDuplicates flag for allowing duplicate keys
+ * @return a managed BTree
+ * @throws IOException
+ * @throws BTreeAlreadyManagedException
+ */
+ @SuppressWarnings("all")
+ public BTree addBTree( String name, ElementSerializer<?> keySerializer,
ElementSerializer<?> valueSerializer, boolean allowDuplicates ) throws
IOException, BTreeAlreadyManagedException
+ {
+ BTreeConfiguration config = new BTreeConfiguration();
+
+ config.setName( name );
+ config.setKeySerializer( keySerializer );
+ config.setValueSerializer( valueSerializer );
+ config.setAllowDuplicates( allowDuplicates );
+ config.setType( BTreeTypeEnum.MANAGED );
+
+ BTree btree = new BTree( config );
+ manage( btree );
+
+ return btree;
+ }
}
Modified:
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerPrivateMethodTest.java
URL:
http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerPrivateMethodTest.java?rev=1478383&r1=1478382&r2=1478383&view=diff
==============================================================================
---
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerPrivateMethodTest.java
(original)
+++
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerPrivateMethodTest.java
Thu May 2 14:25:03 2013
@@ -26,10 +26,15 @@ import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.UUID;
-import org.apache.mavibot.btree.PageIO;
-import org.apache.mavibot.btree.RecordManager;
+import org.apache.mavibot.btree.serializer.LongSerializer;
+import org.apache.mavibot.btree.serializer.StringSerializer;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
/**
@@ -38,6 +43,37 @@ import org.junit.Test;
*/
public class RecordManagerPrivateMethodTest
{
+
+ private BTree<Long, String> btree = null;
+
+ private RecordManager recordManager = null;
+
+ @Rule
+ public TemporaryFolder tempFolder = new TemporaryFolder();
+
+ private File dataDir = null;
+
+
+ @Before
+ public void createRecordManager() throws Exception
+ {
+ dataDir = tempFolder.newFolder( UUID.randomUUID().toString() );
+
+ // Now, try to reload the file back
+ recordManager = new RecordManager( dataDir.getAbsolutePath(), 32 );
+
+ // Create a new BTree
+ btree = ( BTree<Long, String> ) recordManager.addBTree( "test", new
LongSerializer(), new StringSerializer(), false );
+ }
+
+
+ @After
+ public void closeBTree() throws IOException
+ {
+ recordManager.close();
+ }
+
+
/**
* Test the getFreePageIOs method
*/
@@ -45,11 +81,6 @@ public class RecordManagerPrivateMethodT
public void testGetFreePageIos() throws IOException,
NoSuchMethodException, InvocationTargetException,
IllegalAccessException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
Method getFreePageIOsMethod = RecordManager.class.getDeclaredMethod(
"getFreePageIOs", int.class );
getFreePageIOsMethod.setAccessible( true );
@@ -74,6 +105,8 @@ public class RecordManagerPrivateMethodT
pages = (org.apache.mavibot.btree.PageIO[] )
getFreePageIOsMethod.invoke( recordManager, i );
assertEquals( 3, pages.length );
}
+
+ btree.close();
}
@@ -84,11 +117,6 @@ public class RecordManagerPrivateMethodT
public void testComputeNbPages() throws IOException, SecurityException,
NoSuchMethodException,
IllegalArgumentException, IllegalAccessException,
InvocationTargetException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
Method computeNbPagesMethod = RecordManager.class.getDeclaredMethod(
"computeNbPages", int.class );
computeNbPagesMethod.setAccessible( true );
@@ -108,5 +136,7 @@ public class RecordManagerPrivateMethodT
{
assertEquals( 3, ( ( Integer ) computeNbPagesMethod.invoke(
recordManager, i ) ).intValue() );
}
+
+ btree.close();
}
}
Modified:
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerTest.java
URL:
http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerTest.java?rev=1478383&r1=1478382&r2=1478383&view=diff
==============================================================================
---
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerTest.java
(original)
+++
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/RecordManagerTest.java
Thu May 2 14:25:03 2013
@@ -32,13 +32,17 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.UUID;
import org.apache.mavibot.btree.exception.BTreeAlreadyManagedException;
import org.apache.mavibot.btree.exception.KeyNotFoundException;
import org.apache.mavibot.btree.serializer.LongSerializer;
import org.apache.mavibot.btree.serializer.StringSerializer;
+import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
/**
@@ -47,32 +51,66 @@ import org.junit.Test;
*/
public class RecordManagerTest
{
- /**
- * Test the creation of a RecordManager, and that we can read it back.
- */
- @Test
- public void testRecordManager() throws IOException,
BTreeAlreadyManagedException
- {
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
+ private BTree<Long, String> btree = null;
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
+ private RecordManager recordManager1 = null;
- assertNotNull( recordManager );
+ @Rule
+ public TemporaryFolder tempFolder = new TemporaryFolder();
- // Create a new BTree
- BTree<Long, String> btree = new BTree<Long, String>( "test", new
LongSerializer(), new StringSerializer() );
+ private File dataDir = null;
- // And make it managed by the RM
- recordManager.manage( btree );
- // Close the recordManager
- recordManager.close();
+ @Before
+ public void createBTree()
+ {
+ dataDir = tempFolder.newFolder( UUID.randomUUID().toString() );
+
+ openRecordManagerAndBtree();
- // Now, try to reload the file back
- RecordManager recordManager1 = new RecordManager( tempFileName );
+ try
+ {
+ // Create a new BTree
+ btree = ( BTree<Long, String> ) recordManager1.addBTree( "test",
new LongSerializer(), new StringSerializer(), false );
+ }
+ catch( Exception e )
+ {
+ throw new RuntimeException( e );
+ }
+ }
+
+
+ private void openRecordManagerAndBtree()
+ {
+ try
+ {
+ if( recordManager1 != null )
+ {
+ recordManager1.close();
+ }
+
+ // Now, try to reload the file back
+ recordManager1 = new RecordManager( dataDir.getAbsolutePath() );
+
+ // load the last created btree
+ if( btree != null )
+ {
+ btree = recordManager1.getManagedTree( btree.getName() );
+ }
+ }
+ catch( Exception e )
+ {
+ throw new RuntimeException( e );
+ }
+ }
+
+ /**
+ * Test the creation of a RecordManager, and that we can read it back.
+ */
+ @Test
+ public void testRecordManager() throws IOException,
BTreeAlreadyManagedException
+ {
assertEquals( 1, recordManager1.getNbManagedTrees() );
Set<String> managedBTrees = recordManager1.getManagedTrees();
@@ -91,8 +129,6 @@ public class RecordManagerTest
assertEquals( btree.getPageSize(), btree1.getPageSize() );
assertEquals( btree.getRevision(), btree1.getRevision() );
assertEquals( btree.getValueSerializer().getClass().getName(),
btree1.getValueSerializer().getClass().getName() );
-
- recordManager1.close();
}
@@ -102,30 +138,13 @@ public class RecordManagerTest
@Test
public void testRecordManagerWithBTree() throws IOException,
BTreeAlreadyManagedException, KeyNotFoundException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
-
- assertNotNull( recordManager );
-
- // Create a new BTree
- BTree<Long, String> btree = new BTree<Long, String>( "test", new
LongSerializer(), new StringSerializer() );
-
- // And make it managed by the RM
- recordManager.manage( btree );
-
// Now, add some elements in the BTree
btree.insert( 3L, "V3" );
btree.insert( 1L, "V1" );
btree.insert( 5L, "V5" );
- // Close the recordManager
- recordManager.close();
-
// Now, try to reload the file back
- RecordManager recordManager1 = new RecordManager( tempFileName );
+ openRecordManagerAndBtree();
assertEquals( 1, recordManager1.getNbManagedTrees() );
@@ -163,31 +182,14 @@ public class RecordManagerTest
public void testRecordManagerWithBTreeLeafNode() throws IOException,
BTreeAlreadyManagedException,
KeyNotFoundException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
-
- assertNotNull( recordManager );
-
- // Create a new BTree
- BTree<Long, String> btree = new BTree<Long, String>( "test", new
LongSerializer(), new StringSerializer(), 4 );
-
- // And make it managed by the RM
- recordManager.manage( btree );
-
// Now, add some elements in the BTree
for ( long i = 1L; i < 32L; i++ )
{
btree.insert( i, "V" + i );
}
- // Close the recordManager
- recordManager.close();
-
// Now, try to reload the file back
- RecordManager recordManager1 = new RecordManager( tempFileName );
+ openRecordManagerAndBtree();
assertEquals( 1, recordManager1.getNbManagedTrees() );
@@ -225,21 +227,6 @@ public class RecordManagerTest
public void testRecordManagerWithBTreeLeafNode100K() throws IOException,
BTreeAlreadyManagedException,
KeyNotFoundException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
-
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 512 );
-
- assertNotNull( recordManager );
-
- // Create a new BTree
- BTree<Long, String> btree = new BTree<Long, String>( "test", new
LongSerializer(), new StringSerializer(), 32 );
-
- // And make it managed by the RM
- recordManager.manage( btree );
-
// Now, add some elements in the BTree
long t0 = System.currentTimeMillis();
for ( long i = 0L; i < 100000L; i++ )
@@ -248,13 +235,10 @@ public class RecordManagerTest
}
long t1 = System.currentTimeMillis();
- // Close the recordManager
- recordManager.close();
-
System.out.println( "Time taken to write 100 000 elements : " + ( t1 -
t0 ) );
// Now, try to reload the file back
- RecordManager recordManager1 = new RecordManager( tempFileName );
+ openRecordManagerAndBtree();
assertEquals( 1, recordManager1.getNbManagedTrees() );
@@ -294,8 +278,6 @@ public class RecordManagerTest
}
long t5 = System.currentTimeMillis();
System.out.println( "Time taken to verify 100 000 elements : " + ( t5
- t4 ) );
-
- System.out.println( "File size : " + tempFile.length() );
}
@@ -371,21 +353,8 @@ public class RecordManagerTest
public void testRecordManagerBrowseWithKeepRevisions() throws IOException,
BTreeAlreadyManagedException,
KeyNotFoundException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
-
- assertNotNull( recordManager );
-
- // Create a new BTree
- BTree<Long, String> btree = new BTree<Long, String>( "test", new
LongSerializer(), new StringSerializer() );
btree.setKeepRevisions( true );
- // And make it managed by the RM
- recordManager.manage( btree );
-
// Now, add some elements in the BTree
btree.insert( 3L, "V3" );
long rev1 = btree.getRevision();
@@ -407,7 +376,7 @@ public class RecordManagerTest
checkBTreeRevisionBrowse( btree, rev3, 1L, 3L, 5L );
// Now, try to reload the file back
- RecordManager recordManager1 = new RecordManager( tempFileName );
+ openRecordManagerAndBtree();
assertEquals( 1, recordManager1.getNbManagedTrees() );
@@ -456,21 +425,8 @@ public class RecordManagerTest
public void testRecordManagerBrowseFromWithRevision() throws IOException,
BTreeAlreadyManagedException,
KeyNotFoundException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
-
- assertNotNull( recordManager );
-
- // Create a new BTree
- BTree<Long, String> btree = new BTree<Long, String>( "test", new
LongSerializer(), new StringSerializer() );
btree.setKeepRevisions( true );
- // And make it managed by the RM
- recordManager.manage( btree );
-
// Now, add some elements in the BTree
btree.insert( 3L, "V3" );
long rev1 = btree.getRevision();
@@ -492,7 +448,7 @@ public class RecordManagerTest
checkBTreeRevisionBrowseFrom( btree, rev3, 3L, 3L, 5L );
// Now, try to reload the file back
- RecordManager recordManager1 = new RecordManager( tempFileName );
+ openRecordManagerAndBtree();
assertEquals( 1, recordManager1.getNbManagedTrees() );
@@ -540,21 +496,8 @@ public class RecordManagerTest
public void testGetWithRevision() throws IOException,
BTreeAlreadyManagedException,
KeyNotFoundException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
-
- assertNotNull( recordManager );
-
- // Create a new BTree
- BTree<Long, String> btree = new BTree<Long, String>( "test", new
LongSerializer(), new StringSerializer() );
btree.setKeepRevisions( true );
- // And make it managed by the RM
- recordManager.manage( btree );
-
// Now, add some elements in the BTree
btree.insert( 3L, "V3" );
long rev1 = btree.getRevision();
@@ -597,7 +540,7 @@ public class RecordManagerTest
}
// Now, try to reload the file back
- RecordManager recordManager1 = new RecordManager( tempFileName );
+ openRecordManagerAndBtree();
assertEquals( 1, recordManager1.getNbManagedTrees() );
@@ -661,21 +604,8 @@ public class RecordManagerTest
public void testContainWithRevision() throws IOException,
BTreeAlreadyManagedException,
KeyNotFoundException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
-
- assertNotNull( recordManager );
-
- // Create a new BTree
- BTree<Long, String> btree = new BTree<Long, String>( "test", new
LongSerializer(), new StringSerializer() );
btree.setKeepRevisions( true );
- // And make it managed by the RM
- recordManager.manage( btree );
-
// Now, add some elements in the BTree
btree.insert( 3L, "V3" );
long rev1 = btree.getRevision();
@@ -712,7 +642,7 @@ public class RecordManagerTest
assertTrue( btree.contains( rev4, 5L, "V5" ) );
// Now, try to reload the file back
- RecordManager recordManager1 = new RecordManager( tempFileName );
+ openRecordManagerAndBtree();
assertEquals( 1, recordManager1.getNbManagedTrees() );
@@ -770,21 +700,8 @@ public class RecordManagerTest
public void testHasKeyWithRevision() throws IOException,
BTreeAlreadyManagedException,
KeyNotFoundException
{
- File tempFile = File.createTempFile( "mavibot", ".db" );
- String tempFileName = tempFile.getAbsolutePath();
- tempFile.deleteOnExit();
-
- RecordManager recordManager = new RecordManager( tempFileName, 32 );
-
- assertNotNull( recordManager );
-
- // Create a new BTree
- BTree<Long, String> btree = new BTree<Long, String>( "test", new
LongSerializer(), new StringSerializer() );
btree.setKeepRevisions( true );
- // And make it managed by the RM
- recordManager.manage( btree );
-
// Now, add some elements in the BTree
btree.insert( 3L, "V3" );
long rev1 = btree.getRevision();
@@ -821,7 +738,7 @@ public class RecordManagerTest
assertTrue( btree.hasKey( rev4, 5L ) );
// Now, try to reload the file back
- RecordManager recordManager1 = new RecordManager( tempFileName );
+ openRecordManagerAndBtree();
assertEquals( 1, recordManager1.getNbManagedTrees() );
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]