directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From seelm...@apache.org
Subject [directory-mavibot] branch free-page-mgmt created (now bfe2e77)
Date Sun, 26 Nov 2017 17:09:28 GMT
This is an automated email from the ASF dual-hosted git repository.

seelmann pushed a change to branch free-page-mgmt
in repository https://gitbox.apache.org/repos/asf/directory-mavibot.git.


      at bfe2e77  merged with trunk revision 1642979 (stashing a lot of untested code as well)

This branch includes the following new commits:

     new 72886fd  Added th ebase structure
     new 4c4a7bc  Added some svn:ignore properties
     new 8c0e34c  added a sub-module
     new 3ff58af  created the original project structure
     new 3fecd1e  First injection of classes : they just contain the fields, no logic at all atm.
     new 16844c2  o Added the results for the insertion/deletion in a page o Added some first methods in the Page interface
     new efdb900  o Added some (empty) methods in the AbstractPage class o Created a dedicated constructor in the Node class o Added the modified value in the ModifyResult class o Added the BTree constructor, the getters/setters and a first drop of insert() method
     new 4f021f4  o Added the AbstractPage.findKeyInPage() and compare() methods o Added some missing getters/setters in BTree o Added place holder methods for the insert operation in the Leaf class
     new cc3603e  o Added constructors in Leaf, and the methods used to copy a page and to replace a value in a page o Created some new constructors in AbstractPage o Moved the initialization code in the AbstractPage constructor from the Node class
     new 59e5835  o Removed some warnings o Added a method to copy a Node o Added some constructors, and the first step for the insert() method in the Node class
     new 313596e  Added a LongComparator
     new 1e54ef9  o Some renaming o Implemented the insertion into leaf pages o Added some code in the inster method in Node (not finished yet)
     new cf51432  Added toString methods to ease debugging
     new a53a04d  o Rename the recordId to id, added getId()/setId() methods o Fixed a ClassCastException in Node o Improved the toString() methods
     new c5bced3  Fixed various OutOfBoundExceptions
     new b479ed8  o Renamed the AbstractPage to BasePage : this is not an abstract class o Fixed an issue in the way we compute the power of 2 of a number o Fixed a comparison in the Leaf addAndSplit() method in Leaf o Added the addAndSplit() method in Node o Added a dumpPage() method used to pretty-print a tree
     new 99240bd  o fixed some bugs in the Node.addAndSplit() method o modified the dumpPage() method to get a better view o the tree
     new ec7410c  Added some toString() methods
     new 0742682  o Made the BasePage an abstract class, and renamed it AbstractPage (doing the opposite was a wrong move) o Added the find(K) method
     new 0bd1f8c  Fixed a bug in the find() method for Node : we were selecting the wrong children
     new 71e9807  Added some tests
     new da674bb  o Fixed the tests o Fixed several bugs in the Node.addAndSplit() method (using the wrong page, the wrong index, in two different cases)
     new 609cbcc  Added a helper method
     new 05831c1  Used the correct variable
     new 78d1286  getNbElems now returns an int
     new 46f152c  Added the IntComparator
     new d8de2e0  Added the Cursor, Tuple and Transaction classes
     new 5d8febc  o Added the brows() method o Added a very first implementation for the transaction handling
     new fd17ffa  o Added tests for the browse() method
     new dc63ced  o Added the delete() method in BTree, with a preliminary implementation that only works for removing in the root page o Added a test for the delete method o Added some classes to propagate the result of a delete operation
     new db52093  Added some DeleteResult instances
     new 5f06de4  Added a constructor that takes 2 parameters for simplicity
     new 3efc284  o Added some of the delete use case implementations
     new 7c7a554  Added some tests for the deletion on a leaf
     new 9f09715  Added one more test
     new 93bb6a5  Inferred the K type from the used comparator, so that we don't get some cast exceptions when storing keys in the arrays
     new 492ea39  o Fixed the borrowFromLeft() method o Added a test to check that borrowing an element from left is correct
     new 7bbcbf3  o Fixed many issues in the merge from a right sibling o Added a test for this case o Added some images o Renamed the BorrowedFromSiblingResult class to BorrowedFromLeftResult/BorrowedFromRightResult
     new 3637e2f  Added a new test to check that merging two leaves works
     new ee857db  o Removed the next/prev pointers, as we can't keep them updated when we add a new revision o Replaced them by a stack that stores the current position on the tree when using a cursor o Added commons-collections dependency
     new 026fbab  o Reorganized the DeleteResult hierarchy, adding an Abstract class o Added some javadoc
     new 4b58255  One more class extends the AbstractDeleteResult class
     new a63b436  Some more Javadoc cleanup
     new db45fc1  Last set of Javadoc cleanup.
     new 86e8797  o Implemented some use case of deletion in a Node o Made the Result fields protected, added some setters/getters o Moved the selectSibling method to the AbstractPage class
     new 13df2c8  o Fixed some bugs in the Node.delete() operation o Fixed some compilation errors in LeafTest o Added some test for the delete operation
     new e9f74e3  Added a test for the Page.findPos() method
     new 3daf88e  o Fixed the code that manage the merge of pages which have not enough elements, except when we merge two pages o Reorganized the hierarchy of DeleteResult classes o Added some javadoc o Added the getKey() method in Page
     new 955307b  Added some more deletion tests to cover some more use-cases.
     new 8ac22fa  o Fixed a AOOBE in the Leaf.delete() method o Handled two more use case when a delete results in a merge of pages
     new 81dbcbf  Added some more graphics
     new d6d3833  o Fixed an issue when a value is deleted on the left of the leftmost leaf o Improved some toString() method o Added some tests
     new 45b19aa  o Added a setRoot( page ) method to the btree, as a helper methd for debug purposes o Added findLeftMost/findRightMost methods to the Page class
     new 98c3645  o Reorganized the Node.delete() method
     new a766c4f  o Added some Javadoc o Renamed some private methods for clarity sake o Fixed a bug when a key was not present in a node and we remove it
     new e284690  o Fixed a bug when we delete an element which is the leftmost one in a leaf, and is present in a upper node o Exposed the getNewLeftMost() method in the API
     new ffd9719  More tests added
     new 115a72a  Fixed a failing test due to the modification of the newLeftMost value
     new 7f4d713  Minor cleanups
     new ffecdb4  o Fixed various bugs o Simplified some code in leaf and node o Handle the null values in toString()
     new 2121cac  Added a test to check the removal of elements when a merge occurs in a two levels tree
     new 6b243e1  o Rewrote the removeKey() method o Fixed some bugs when the pages are being merged during the deletion
     new f9dee80  Added a first test for a delete operation inducing a merge on nodes.
     new 1ea9ab2  o Fixed a bug when we were deleting an element which key was present in the root page o Added some more tests
     new fafa004  Implemented the Node update when the deletion leads to borrow an element from the right Node.
     new 51ca933  o Added some deletion tests o Added some extra checks o Added some helper methods
     new 5d0560c  adding plugin management section for compiler plugin so on mac os x we do not have compiler issues with generics
     new da917ce  o Added the borrowFromLeft method in Node o Added some tests
     new 7b8698c  Added some more tests
     new 4f27f74  Added the last missing part of the deletion handling : when two node have to merge.
     new 7511710  Many fixes to get the delete operation working.
     new 96273be  Added some tests to check that the delete operation works
     new 4438097  Removed the useless newleftMost field in the Result classes
     new fcca4ed  Fixed a typo in the mail in file headers
     new d09c12d  o Added a getLeftMostKey() method to avoid creating a tuple o Added some Javadoc
     new 8622fc3  o Added the serializer packahe o Added the ElementSerializer interface o Added the IntSerializer o Added a test for this class
     new c11e7c3  Added a test and some fixe addition
     new 729a9c9  Added the LongSerializer class and its associated test
     new 6428813  Added the Chare and Byte serializers
     new a1f7a57  Added the short and boolean serializers
     new 9f2e61e  Added the StringSerializer class and tests
     new 6a5ea05  Added a first version of the DefaultSerializer Some minor formating
     new 9e6661e  o Added a test to check the serialization/deserialization o Injected the serialization into the BTree o Added the File into the BTree o Added a counter of element sin the tree o Added a first draft of the flush() method
     new c84a178  Removed some useless code
     new 854d859  o Modified the parameters we pass to the deserialize() method, in order to be able to use some buffering between the file and the byte[] o Added a BufferHandler structure used to bufferize data from the disk and to provide byte[] on demand to teh deserializers
     new 9535a55  Implemented a read() method (not tested yet)
     new 0bafad6  o Fixed a bug in the StringSerializer o Created static methods in the LongSerializr class o Initialized the buffer in the BufferHandler when creating it, so that we already have some data in it when we will read o Fixed the read of the btree length in the BTree.read() method o Added a test for the flush/read methods
     new 23c387c  o Created static methods in the serializers
     new b7e91ef  Added the ByteArraySeralizer class and test
     new d0b1c1e  Fixed some bug in the static methods (the controlled length was the Long length)
     new 3ee6656  Added the BTreeConfiguration so that we can create a BTree with more options.
     new 9abfd2f  o Added a constructor taking a BTreeConfiguration parameter o Added an init() method to separate the construction of a btree from its initialization o Renamed the read() method to load()
     new 05d990e  Added a test for BTreeConfiguration
     new ac135e9  o Made the rootPage volatile, so that no thread can use it while it's being modified. o Removed the useless commitTransaction() method o Transaction class now takes a Page,not the whole btree.
     new e57e313  Replace the btree reference to a Page. This is enough to guarantee that once we are done with the root page for this transaction, it can get garbage collected if no other thread is using it.
     new b7d384c  o Get rid of the rootPages Map, we don't need it. o Added a thread used to cleanup the timed out transactions o Added a close() method, used to kill the cleanup thread
     new 0b72b5e  o Added a flag to tell that the transaction is closed o Renamed a variable
     new 0b84d10  Closing all the btrees after usage
     new 789f787  Added some more perf tests
     new 48684f7  Exposed the revision number and the transaction creation date
     new d1e599e  Fixed a bug in the flush method : we were incorrectly writing data in teh buffer when this buffer gets full
     new 383006e  Added a flush in the 5M elements test
     new 534d4f4  Added a multi-threaded test
     new c947c89  Added a protection against concurrent modifications
     new 29fedff  Reduced the number of threads and the bTree size for the multi-threaded tests, otherwise the test takes way too long
     new b70656f  Added a test to check that we can use many threads to inject entries in the BTree
     new 78830ae  Minor typo fixing
     new 37ff124  Added the readTimeOut variable in the BTree, with a default value of 10 seconds
     new 8682668  Added the classes used by the journal
     new a2be7a8  Throwing an EOFException when we can't read data in the Journal because we reached the end of it
     new 9bb736b  o Added a first drop of modifications to handle a journal of modifications, when not using the in-memory BTree o Simplified the configuration of the file and journal names
     new fc187c0  o Some class renaming o Added support for the Journal o Closing the btree when done with it, so that the inner threads are closed too
     new 050479a  Fixed a bug in the way we handle cross-boundary buffer read of values
     new 9de4d75  o Added the suffixes o The journal thread now stops correctly when the queue has been fully flushed o Dealing with various case of Journal and File name initialization o The BTree now uses a path and a filename o Increased the buffer used to write data on disk to speed up the flush o Empty the journal when flushing the data instead of deleting it
     new 017f91e  Restore the load() method to be public
     new ddc9b56  Added the poison pill used to stop the journal thread
     new fd39417  o Cleaned some files when the tests end o Lowered the number of threads used for the write test o Created the 5M element BTree only once
     new f919ffe  Added a configurable buffer size
     new be90684  Apply the journal if we have one even if the file does not exist
     new 3f4dca5  Fixed a failing test
     new d8a1e52  Create a smaller file (1M instead of 5M)
     new 3b355af  o Changed the way we inject serializers in the BTree : we now inject the key and value serializer, and not anymore the key comparator, which is now part of the serializers o Added some missing comparators
     new 117b8eb  o Added a exception o Added a delete(K, V) method o Renamed the find() method to get() o The get() method now throws a KeyNotFond exception if the key we are looking for does not exist : this has been done to allow the addition of null values in a BTree
     new 7d74887  Added the exist() method, with the associated test
     new 583af5a  o Allowing null value additions o Fixed a /0 error
     new 75e5032  Added some Javadoc
     new 1cd897d  Added a SoftReference used to store data only when needed.
     new 4ab5c8f  o Added a way to store WeakReferences instead of plain values, in case we want to store a BTree in a file, but not kep all the values in memory.
     new 9a690a6  Added some needed comparator and serializer for long[]
     new f0c74e6  Fixed the javadoc
     new e87d3d9  o Added a name to the BTree class o Created a new package for exceptions, moved the KeyNotFoundException there
     new a18d160  Added some utility methods
     new 31665e5  Fixed some compilation errors
     new 20110bf  o Added a very first version of the RecordManager (not finished yet) o Moved some exceptions in a dedicated package
     new f16a0d8  Make the revision and nbElems visible
     new 716100b  Added an exception when we try to write beyond the file
     new 9800abc  Added static serializers
     new b5892f5  o Used a ByteBuffer instead of a byte[] to store data o Added a toString() method
     new 950b3ae  Partially working file. I commit it so that it gets visible to others.
     new cf1eeaf  Added a method that stores an Integer in one or 2 PageIOs
     new cf38585  Added a method to store a Long into pages
     new e0cf875  o Commented some not functional code o Fixed a bug in the pagePosition computation in storeBytes
     new c9f925f  Added tests for the RecordManager
     new 6d63026  Added some tests
     new 29217e2  o Fixed a buffer overflow o Fixed a bug in the long addition in pages o Added a test for long injection in pages
     new 763f471  Added the first draft of the storeBytes( byte[] ) method. It needs more tests.
     new 1563695  Added a first test for the storeBytes(byte[]) method.
     new 2e7f7f4  Fixed bugs in the storeBytes( byte[] ) method
     new afb4606  Added test for the storeBytes( byte[] ) method
     new e0997d0  o Fixed a bug in the PageIO.toString() method : direct buffers don't return anything when the array() method is called o Added a way to get the offset of an added page, when many pages are added o Added some constants o Removed the global PAGE_BUFFER variable : it's useless o Fixed the manage(Btree) method. o Renamed the storeBytes() method to store() o Removed commented code
     new c305fc6  Renamed the storeBytesTest method to storeTest
     new 365412a  The first letter was a lowerCase : made it a UpperLater
     new ea7ad0c  Write the header which was not written
     new 8476f9b  o Added some setters in the BTree class (we need them in order to create a BTree when we deserialize it) o Removed the HEADER_BUFFER static field, it's useless o Added the readInt() method o Added the readPages(offset) method o Added some Javadoc o Added a test for readInt()
     new 0958622  Added the readLong() method and the associated test
     new 683d2a6  Added the readBytes() method and the associated tests
     new 85fe0f2  o Added a BTreeFactory to create BTrees, Nodes and Leaf o Made some of the BTree setters package protected o Node and Leaf class are now public o Added the code taht create the BTrees in the RecordManager
     new 5e47cbc  o Changed the position of the PageIO[] parameter in the store() method, so that we can pass a single page, or many (using ellipsis)
     new 6664848  Added the SLF4J depenency
     new de57d38  o Fixed the getFreePageIOs( size )method o Added a test for this method o Added some more elements in the RecordManager test o Fixed the PageIO toString() method
     new 116fab9  o Created a method to write the header when we update it o Fixed the nbBtree which was not correctly updated o The ValueSerializer was not written, we were writing the KeySerializer instead o The Btree Page nbElem was stored in a Long, instead of an Int
     new 820f7ca  o Forgot to set the comparator
     new d719585  o Removed the ID from the BTree Page : we don't use it anymore o The revision and nbElems are initialized when the constructor is called o The rootPage is created before calling the init() method, so that we can deserialize a BTree without having to create a rootPage that will anyway be loaded from disk.
     new 88d40c2  Fixed a compilation error due to the removal of the ID from pages
     new 2d7de7e  o Added e getRoot() method to the BTreeFactory class o The nextPage field is now updated when we inject data in the PageIO instances o Added a setSize() that compute the size of teh data stored in PageIOs o Many fixes in RM in order to be able to write and read back many btrees. It currently works for empty BTrees. o Removed the reference on id in some test o Added a dump() method in the RM (not complete yet)
     new 43180c3  o Added some method to get access to the managed BTrees in the RM o Added some check on the RM test
     new d22c3f4  o Added a enum to define the BTree type (in-memory, persisted and managed) o Injected the RM into the BTree o Added an Offset field in the BTree for when it's managed o Update the BTree Header on disk when we modify the content of a Managed BTree o Added toString() methods to the ValueHolder classes o Injected the BTree in the ValueHolder classes o Made the ValueHolder interface public o Added an Offset in the BTree Pages to be able to retrieve them on disk o First drop  [...]
     new abf1ee0  Added data structure images
     new ab3e4c9  o Incremented the revision before using it, as we start at revision 0 o Moved the flush on disk in the public insert() method, so that the BTree number of elements is updated when we update the BTree header o Fixed a bug in the flushPages() method : we were writing the pages at the end of the file, no matter what...
     new 337f288  Fixed an offset computation in the BTree Header.
     new 74c510b  Updated the data structure images
     new 91ef4eb  o Renamed the BtreeHeader to BTreeHeader o Added some more data into this class
     new f07b0ba  Added deserializers that take a ByteBuffer as an input.
     new 6f220ac  o Added a method in AbtsractPage to inject a key into a specific position (used by the deserialization process) o Added a method in Leaf and Node to store a value at a given position (used by the deserialization process) o Moved all the BTree common data into a BTreeHeader class o Added the NextBtreeOffset field to manage the links between btrees o Made the MemoryValueHolder public o Improved the ReferenceValueHolder toString() method o Now manage the link between BTrees [...]
     new 2d5232e  Added this class to store header informations about BTrees
     new 5422e7c  Updated the data structure graphics
     new b66c2fa  o Updated the Javadoc o Removed the BTreeHeader constructor 'name' argument
     new d766745  Refactored the ValueHolder to make it easier to understand and to use
     new 488e5cc  o Added more than one value in a page, stored the btree, and read it back o Fixed a NPE when writing data in a page : when the data was filling the last page completely, that was generating a NPE.
     new 1d1fb93  o The references to pages are now done using a ReferenceHolder o Renamed the RM.modifyPage method to writePage o Added a first drop of code to manage the injection of values that leads to a page split (not yet functional)
     new b6df5a4  o Used the BTree.createHolder() instead of crating a new ReferenceHolder in Node. o We can keep all the elements in memory of the bTree is not managed
     new 2abe86f  o The Leaf is no longer responsible to write the modified page on disk, it's done by either the node referring it, or the BTree if the rootpage is a leaf o Added a Node constructor that takes ElementHolder as parameters for managed BTrees o Writing on disk pages when a Leaf has been modified in Node o Removed a wrong operation on nbElems in the serializePage method
     new c4f3faa  o Added the offset  the AbstractPage toString() method o Fixed the creation of a new node when the rootPage was previously a leaf o Handled the insertion of pages in a Node, and written those pages on disk There is still one case to handle : the split of a node when it's full.
     new 783a662  o Create a helper method to create holder. o Modify all the delete() methods to create new holders, which should allow the BTRee modifications to b stored on disk, either for additions, modifications, or deletions (to be tested)
     new 03c9018  o Made the getOffset() method public to be able to use it from the RM o Fixed the usage of nbElems for Node : it's a negative value, we have to make it >0 to create the arrays o Correctly write the Nodes
     new 25e67e2  o Fixed the Node.setValue() method, we don't have to create a ElementHolder when we get one as a parameter o Correctly read the Node references to children (they are Offset, not pages)
     new fffad21  o Added the code that fetch an element from the disk, when it's not present in memory o Propagated various exceptions up to the top o The RecordManager was not stored into a BTree we read from disk, leading to NPEs
     new de67ddd  Creates a new SoftReference when the element has been discarded from memory
     new efbfb39  Propagated the Exception
     new 949255f  Added an @ignored performance test
     new c050b88  Made the createLeaf()./createNode() method return Leaf/Node instead of Page
     new 4cc828e  a builder class to build a BTree from bottom
     new a86c49c  o build the tree based on the number of keys in the node o removed the hard coded tree building code
     new 25b9a8e  o fixed an NPE o added test class
     new ec37c76  fixed the key index
     new 9eb3d13  added 'public' qualifier
     new 1ed0f53  utility for sorting large number of keys using secondary storage
     new 6991adc  fixed a typo in the package name and moved Strings class to util package
     new e77c118  merged multivalue branch
     new 92e186e  Fixed a test error when it was ran more than once. We were trying to delete the mavibot file, when the created file was mavibot.db
     new f7539fb  Added the copiedPages lists into the results
     new 1006e75  modified the internal insert method to return the InsertResult type
     new 5fe207b  o moved the persist mode handling code to init() method o many trivial javadoc fixes
     new 320fe59  o fixed the initialization of BTree when a type is set o fixed the constructor with config
     new 22719bb  added type parameter
     new ce9ab09  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
     new 2951f0c  Fixed an issue with the RM default page size : if we set it to something different than 4096, the test is failing. We must inject the correctpage size when we create the RM in those tests
     new 017a9a7  Make the test really inject 1M elements
     new be3ac52  o added a static instance o fixed the missing null value case
     new 7f77efe  hold the value container in a soft reference if the parent btree is in managed mode
     new 40cfcba  o added some more constructors o removed the allowDuplicates flag and replaced it with the one from header o moved the header update block from insert(k,v) to insert(k,v,r)
     new 8eb814b  added a integer flag for allowing duplicates
     new e23d75b  o managed btrees are loaded when needed o added a new btree to hold the name and offset of each managed btree o ignored the tests till we finalize the RM format and functionality
     new 9f99bab  o first shot at freepage management o fixed some managed tree getters
     new 3626701  tell record manager about the copied pages
     new cc8d978  moved keepRevisions flag to RecordManager
     new 34469fb  fixed a typo in the page size
     new 33a3f32  do not treat the current page as a copy of it is the first insertion
     new 131b1a1  fixed an issue with the reused buffer
     new bd7a7d3  o added commons-io to use the FileUtils in tests o added a test for freepage management code
     new 02019b0  Updated the way the free pages are managed. Some tests are failing.
     new 225bd9f  Fixed a bug in the LongArraySerializer : we weren't allocating enough butes for the serialized array.
     new 54454df  o fixed the size of children's array o fixed the getRightmostKey() method
     new 9a6b7e2  update offset BTree when root page changes
     new c27ba3e  added a FIXME note
     new 7f49eff  Formatting the code
     new 318ada6  Formatting the code
     new ed0b95d  removed the offset btree
     new 5c1a884  set the page size to default value
     new 6abe58a  o Removed an @Ignore for a test o Added some sysout
     new 524fa38  o The first root page is now used o Improved a toString()
     new bb16956  o Update the rootPage offset o Adding a load of logs o Flushed all the PageIO in one call when updating the BTree header o Fixed the reload : we were creating a new page when we tried to update the last page, because of the wrong test : if ( fileChannel.size() <= ( pageIo.getOffset() + pageSize ) ) instead of if ( fileChannel.size() < ( pageIo.getOffset() + pageSize ) ) in the flushPages() method o Removed useless methods
     new b8d4c11  o Speed up the update by using a global buffer isntead of allocating a new one every time we need to update the header o Removed useless fields
     new 843fa8b  fixed the wrong tree variable passed for loading
     new 382cc93  o Added the lastOffset pointer in the Page o Store the lastOffset in page referenceHolder o Added some javadoc o Improved the way we pdate the free page, leading to a gain of 25% n speed o Improved the output of some tests to provide more realistic numbers
     new 241e0e1  o do not attach internal BTree offsets to the main data BTrees o skip freepages with offset 0, they are always in-memory and not valid for storing
     new f7acad8  fixed the test case
     new cea9b97  allow custom comparator
     new cb8e215  o added a checks to avoid ClassCastException while deriving the key type o set the comparator also while setting the serializer
     new f324cab  o fixed an issue with direction change in moveToNextNonDuplicateKey() when the cursor is on the last key o added tests
     new 4d0e13b  o set the BTree offset after loading the duplicate btree o reset the page data before reuse
     new 3934082  Fixed a bug in the delete() method : the page was not copied if we haven't removed any key in it
     new 0e9870f  fixed a typo
     new 09eb272  renamed the readPage*s*() method to readPageIOs()
     new c00947a  set the offsets while reading the page
     new 49bcab4  Removed a useless cast
     new 898248a  o Initialized the offset and lastOffset to -1 for new Page o Added a logger for BTree
     new 8c0f718  o Added a dedicated logger in RM to logs the RM checks o Added logs o Added a check() method which control the file after each update o Called the check() method after each update o Fixed the readPageIOs() method so that we don't read extra pages when the last offset is -1 o Changed the way we are managing free pages : there are now added before the first free page, instead of adding them at the end of the list of free pages. This makes the lastFreePage pretty useless no [...]
     new 6742a42  Added the part that checks free pages
     new 493a5bf  Some more checks for the RM
     new 8feb57c  o Store the RecordManager header in a full PageIO o Added the checkRoot preliminary implementation
     new a290434  Added a test that demonstrate a pb in a managed btree with duplicate values
     new 9c01340  Made the dupsAllowed value been stored in a byte instead of an integer.
     new cf2d2a4  Minor formatting
     new 7b4b312  Fixed a bad increment in the position while reading the first btree
     new bb15cad  Rmoved the @Ignored
     new fb67b57  o reverted the allowDuplicate flag to int value o fixed the offset comparision (the default value was set to -1 in a previous commit)
     new 10235df  Added a test injecting 128 values with duplicates
     new 97a4ceb  o Update the lastOffset of pages o Update the BTree header when we do an update in the BTree, otherwise the old rootPage would be pointed by the BTree and by the FreePages list, and be reused by another BTree, leading to inconsistencies. o We don't anymore update the lastFreePage (it's useless) o Commented the checkRoot() method, it's not yet completed
     new 294675b  load duplicate trees based on their offset instead of name
     new 329f59c  moving to directory project
     new 08e4396  Added some images
     new ab8bbbb  renamed the package and the artifact id
     new 67e802e  Added the dsitribution module
     new b6a58d0  Added some missing requied files, fixed the pom.xml file
     new aed545f  Fixed a typo
     new f36ac74  Updated the poms to get the release happy
     new 0f9c003  Moved images
     new 1248572  Excluding images from apache-rat, as they are binaries
     new 92b08b3  Removed the tar.bz2 format, remove the README
     new e0031ba  Generate a jar instead of a bundle
     new c4eaa23  Aded the tools-maven-plugin dependency
     new b4aca9b  Ignoring files
     new e50ad51  Cleaned up the pom
     new 55489b2  some fixes in the pom.xml
     new 4f8aa56  Added the bin in rat exclusion
     new 46107be  Deleted the empty diectory
     new 73ccbc2  Removed the manfestLocation directive in the felix plugin
     new 3158cdd  Removed the 'i' that has been injected at the first position with vi
     new dfe6084  Another attempr to get rid of the legal-gfiles error...
     new 4b1aaa4  Some fix in the main pom relative to the maven release plugin
     new 93b5bad  Removed the plugin versions from the pom, we already have them in the project pom
     new 65bf7ac  Removed some plugins from the pluginManagement, they are already declared in project
     new f3005b3  [maven-release-plugin] prepare release 1.0.0-M1
     new 7afdef3  [maven-release-plugin] prepare for next development iteration
     new 7861854  rolling back to 1.0.0-M1
     new aeb94d5  [maven-release-plugin] prepare release 1.0.0-M1
     new 97da0b1  [maven-release-plugin] prepare for next development iteration
     new 0c49762  Made the generic easier to use for the end user. Fix for MAVIBOT-2
     new 5b63f1c  Updated the mail link
     new 957c02c  Fixed many warnings
     new fd388ed  Some more warnings removal
     new c05eb3f  Some more generic fixes
     new d9bdedd  Use TemporaryFolder rule for all test, should solve build issues on Windows.
     new e2d3087  o write to journal after completing the operation (MAVIBOT-5) o truncate the journal after applying and after flushing the data to disk
     new 13e1f2a  Cleaned the generics for the BTreeFactory class
     new 4e68a05  More generic improvements
     new f308dc8  Renamed DuplicateKeyMemoryHolder to MultipleMemoryHolder
     new c6064e0  Implemented the Closeable interface (MAVIBOT-1)
     new 561e950  Switched to Java 6 instead of Java 7
     new c798dbd  Added the Javadoc and xref generation
     new 98cb012  avoid creating a sub-tree if only one value is present for a key in a tree that allows duplicate keys (MAVIBOT-8)
     new 19e94b0  Added some counters
     new dcb901e  Added a schema used in the site
     new 47b4b32  o Replaced the ReferenceHolder by a CacheHolder everywhere we have a managed BTree o The offsets are now set in the CacheHolder class o Added a EhCache instance with a default value of 1000 o Added a configuration element to set the cache size
     new ded3a2c  Forgot to commit the pom which refers to the ehcache dependency
     new 67f1434  Fixed a constructor, a parameter was ignored
     new ea9dcc8  Split the BTree packages into 2 different packages : - one for in-memory btrees - one for managed btree
     new 0cb9eb3  Added a KeyHolder to store the key or a reference if it's not yet deserialized
     new 5cbf456  Removed a useless data structure
     new 8ddee7e  Avoided useless ByteBuffer -> byte[] -> ByteBuffer copies when dealing with page reads
     new 9b04590  Forgot to commit the addition of a utf8ToStrin(ByteBuffer) method
     new d2c126f  o Changed the key serialization so that we load KeyHolders instead of Keys
     new 3060e18  Added some javadoc
     new 9a63479  o Get rid of some unused code o Added some missing generics
     new bd2f26e  o Renamed the CacheHolder to PageHolder, to reflect the data it stores o Simplified the generics in use for this class
     new 65c15ad  Injected the type into the serializers
     new b64760e  Applied a lot of changes to be able to inject more than 50 000 entries in a BTree (mainly dealing with the replacement of WeakReference with a cache). We now have two different ind of BTrees : - managed (ie, written on disk) - in-memory Duplicate values are stored as an array of values up to a number of values, then a sub-btree is created (for managed btrees only).
     new 65d627d  Speedup : throw a static exception when a key is not found, instead of creating a new one
     new bfd8beb  Applied the KeyNotFoundException speedup in the InMemory BTree
     new 3957061  [maven-release-plugin] prepare release 1.0.0-M2
     new d6cf654  [maven-release-plugin] prepare for next development iteration
     new 1791200  o Added a getKeyHolder method in Node, it's needed if we want to get the raw value o A fix in the ValueHolder.hasNext() method : we were going one step too far in the elements stored o The ValueHolder.remove() method was growing the array used to store the element instead of decrementing it
     new 51a7fc6  Removed the useless comparator field : it's deduced from the keySerializer
     new 7b4217d  Used TupleCursor instead of CursorImpl
     new 97ae523  Renamed CursorImpl to TupleCursorImpl
     new 1e15f10  o Rename dupsContaier to valueHolder o Fixed some methods in InternalUtils, they weren't initializing correctly the parentPos.valueHolder
     new af39573  o Modified the way we handle the values when we have duplicates. We now use either an Array or  sub-btree o Modified the cursor and the way it works (no more linkedList created, we use a direct array)
     new 567fa8d  Removed some useless sysout
     new 8ab562a  o Shared the cache with any sub-btree, to avoid creating a new one for each sub-btree
     new 5c4023e  o Fixed a bug in the way we were serializing keys in pages o Added a way to inject a different cache size
     new fb391da  Fixed a bug in delete : when we remove a value in a ValueHodler having more than 1 value, we have to copy the ValueHolder and delete the value in this copy. This was not what we were doing, leading to some modified ValueHolder in the previous revision.
     new aab254c  Fixed some potential NPE when browsing an empty BTree
     new 286c503  o Fixed some issue when browsing from a non existing key outside of the range of keys
     new 8047399  o Some more fix for the browseFrom() method : we were not remembering the current position o We also started from the first element of a node, which is not good for the browseFrome method
     new 94d6a8b  Added some methods to test the browseFrom method
     new 95e2226  o Huge refactoring in the way we hold ValueHolder o The TupleCursor interface have renamed methods and added ones o Many fixes in the serialization/deserialition o SpeedUp in managed BTrees
     new a26e299  added a test to check the root page count
     new 543c0eb  fixed the wrong count
     new 8a49554  fixed wrong index value
     new cabc300  o modified the TupleReaderWriter interface for better control in implementations o updated the managed BTree builder class to use RecordManager and renamed o added a test class for managed BTree builder
     new c96a2c1  o Added a dump(PageIO) method for debug purpose o Fixed a bad comparison that made the conversion of an array to a subbtree too early, and resulted in a deserialization of an array to a subbtree.
     new 9681fa8  o Fixed some bad positioning in the nextKey method, when we try to move after one key which is in the last page
     new 09adba0  Don't store the sub-btree into the managedBTrees Map, so they aren't stored in memory for ever even when a page is discarded
     new da8c39b  Update the value when we try to insert an existing value (because the value might have changed but the comparator does not see this modification)
     new 8ef5de2  Removed some System.out.println
     new b4a9711  Fixed a big bug in the delete operation : we were copying the modified page into a new page, smaller from the original one, but all the values were copied, which led to a ArrayOutOfBoundException. This exception was silently ignored...
     new 084496a  o The ElementHolder.getValue() does not need a BTre argument anymore o Renamed the ParentPos.dupsContainer to valueCursor (an attempt to close the gap with the managerBTree ParentPos class) o Using the TupleCursor interface instead of the TupleCursorImpl class o Some minor cleanup
     new e210afc  The value cursor is now created in the Leaf
     new 41ae03e  Fixed typoes
     new 0c37369  o Heavy refactoring of both managed and in-memory btree, which are now sharing more code (Result classes, Page, ParentPos, Transaction) o Lots of fixes in the cursor code o Fixes in the tests to reflect those changes
     new ff4e511  o Moved some more Result classes to a common package o Fixed a potential ByteBuffer modification in Strings o Removed some warnings
     new 2adbafd  o Fixed some warnings o @Ignore a debug test
     new 0a0f9dc  [maven-release-plugin] prepare release 1.0.0-M3
     new bcc728d  [maven-release-plugin] prepare for next development iteration
     new 96d27b8  Modified the tests which took too long to run
     new 26516dd  o Removed some useless methods in the in-memory btree and in the in-memory BTreeFactory class
     new 597525c  Don't anymore update the RecordManager header when we use a free page, but do that globally, in the insert/delete method. This save a lot of updates.
     new 3241e4b  Some more big refactoring : o Created a BTree interface, and an AbstractBTree class to gather the common methods of the managed and inMemory BTree o Renamed the managed and inMemory BTree to PersistedBTree and InMemoryBTree
     new 962c3c0  Some more refactoring : o An AbstractPage has been created which share the methods and fileds for the two types of trees, and the AbstractPage in managed and in-memory have been renamed o An AbstractTupleCursor holds the shared methods and fields for the TupleCursor implementations o A KeyHolder class has been created and is now used by he two BTrees o The getKeyType() method has been removed o The ElementHolder class has been removed
     new 5437fba  Renamed the managed package into persisted
     new 938d50d  o Added a ValueHolder common interface, and an AbstractValueHolder class o Use an Array to store values in the InMemory Btree, instead of a simple value. A little bit more memory used, a little bit slower, but benefits from a common access with the Persisted Btree o The ValueArrayCursor is now shared
     new 4053087  o Moved the getCursor(), findPos(), arrayContains(), btreeContains(), contains(), addInArray(), addInBtree() and ad() method to the AbstractValueHolder
     new 316afb2  Replaced the reference to InMemoryValueHolde rby a reference to the ValueHolder interface
     new 75f90ef  o Fixed a NPE in the Array holding for values o Added a PageHolder common class for in-memory and persisted btrees o The abstract in-memory and persisted page class have been removed o The in-memory/persisted Leaf classes have been removed to InMemoryLeaf/PersistedLeaf
     new bac7877  Fixed some Javadoc
     new 17e7013  o Removed the children array from the persisted Node class o Updated the persisted classes accordingly
     new 095e861  o Moved the afterLast and beforeFirst methods down to the AbstractTupleCursor class o Added the getValue( pos ) method in AbstractPage
     new 5988140  Merged the various TupleCursor interface/abstract Class/classes into one single shared class
     new efe03ee  Moved many methods from the in-memory and persisted Node into the AbstractPage class
     new 197d15a  Renamed the Node classes to InMemoryNode and PersistedNode
     new dadf97b  Mobed the MergedWithSiblingResult class in the btree package
     new 34fd8c7  Moved around many classes in order to be able to package protect them (and their methods)
     new dd33402  Made many classes package protected
     new adad48b  Deleted two packages
     new d792ee9  Made many methods and classes package protected. Some javadoc cleanup
     new 9332a85  o Cleaned the cache at shutdown o Close the Btree and deleted the temp file in one test
     new bfbb5ac  Was a bit too aggressive when cleaning the cache... It has to be alive to remove all.
     new a4a2d09  Closing all the BTrees
     new 51704d2  Added some cleanup in tests
     new 563c304  o Merged the PersistedBTreeFactory and InMemortFactory into a single BTreeFactory class o Added the isLeaf/isNode methods in Page
     new 51c1ba4  Removed a commented method
     new cf40256  Made the insert(K, V, revision ) package protected
     new 4ab3f6c  Add many exceptions classes
     new d2bff20  o Fixed MAVIBOT-20 (the allowDuplicate flag was ignored) o Added many specific exceptions to replace the RuntimeException beig thrown (MAVIBOT-30) o No need to call the BTree.init() method anymore for most of the cases o Removed the RevisionName* classes from the persisted package o Removed the spaces at the end of each line
     new 35b4ce8  Made the RevisionName* classes package protected
     new c000d19  Formatted the code
     new 5da15a9  o Used PageHolder instead of PersistedPageHolder when we can o Added some Javadoc
     new f10e0c4  o Added the WriteTransaction class o Renamed the Transaction class to ReadTransaction o Modified the PersistentBTree code to leverage the WriteTransaction, if created
     new 3008996  o First drop of transaction support. It really does nothing but encapsulates the transaction mechanisms to get it working when t will be ready.
     new d23ef38  Small improvement in serialization
     new 270f79b  The Transaction class has been renamed to WriteTransaction
     new 0e8e542  Another small serialization optimization
     new 88cc6bf  Added some generics
     new 1290224  o Added the NameRevision class to be used by the BtreeOfBtrees, and the associated comparator and serializer o The RevisionName class inherits from Tuple now
     new 628c5cd  o Added the BtreeOfBtree tree o Removed useless constants o Created a helper method for file creation o The RMHeader now contains two more pointers to the BOB trees o Removed all the references to the LastFreePage : t's never used
     new e0f8ea8  Formatting
     new 19222a2  Increased the memory used by tests, and change the GC settings
     new 6f66163  Updated an image
     new 944eed3  Improved the toString() method
     new b1634ba  Created a branch to commit the addition of transaction support
     new a7c07b6  Created a branch to commit the addition of transaction support
     new 0676fc6  Checked in the code I'm working on in a branch
     new bae6c91  o Get rid of the WriteTransaction class, it's now replaced by a simple flag o We don't support the explicit transaction. Only automatic transactions are supported. o Removal of the synchronized sections
     new 1ac2349  o Many changes in the RecordManager to make it possible to add new B-trees, and to insert values in them. o The file layout has been changed. o The write transaction is now implemented o revisions are created and kept on disk o Still not possible to read back the file, and the CopiedPage btree is not updated
     new 13c3f6e  o Injecting the rootPage in the BTreeHeader will compute the rootPageOffset if needed (no need to inject it) o Added the rollback() call in the insert method o Written the rootPage on disk when we have a split
     new 4662feb  o Modified the BtreeEnumType to contained specific types for BOB and CPB btrees o Fixed the RecordManager header update on disk o Added some logs and a dedicated logger
     new 5403983  o Implemented the load method for persisted btrees
     new 518c3c7  o Fixed a failing tests when we are reopening a BTree, as we should not see the old revisions o Added the EmptyCursor used when we have no element to return o Fixed a NPE
     new 0a15ae5  Added an empty constructor, used by the EmptyCursor constructor
     new 40f4ff0  Fixed some failing test, as the brwosefrom() method was not handling absent revisions
     new 7ccc924  Added missing headers
     new f41f969  [maven-release-plugin] prepare release 1.0.0-M4
     new 288ace7  [maven-release-plugin] prepare for next development iteration
     new edc7d1a  Fixed the delete operation when used with transaction on a persisted btre.
     new 44b31f0  o Fixed some tests o Added the EmptyValueCursor cursor for when we don't have any value to return o Managed the missing revisions i various method in AbstracBtree
     new 7c2dcf3  Fixed a failing test
     new a18adcf  Updated the BtreeHeader image
     new 8ae1ff5  Switched to 1.0.0-M5
     new a3fff6f  Updated the date to 2014 in Notices
     new ffa3426  o Fixed a bug in dups value handling : we weren't storing the new btreeHeader of sub-b-trees when we add a new value o Fixed a bug in the nextKey() method o Added a test (ignored atm)
     new 9f41ccc  Massively improve the performances by removing the dump of free pages used only for debug purpose...
     new cabb249  Removed a system.out
     new 1d21e59  o Modified the PersistedBTree initialization to use the parent cache and readTransactions set when it's a sub-btree o The PersistedBTree.getBtreeOffset() method now correctly return the BtreeHeader offset, instead of the BtreeInfo offset o The RecordMaager.loadBtree() method takes the parentBtree as a parameter if required o Removed some commented code
     new 7e0d56f  Many changes : o We now use a Transactionmanager (the RecordManager for persisted btrees, and a dedicated InMemoryTransactionManager) o transactions are automatic, and inner transactions are committed by the parent transaction o The KeyNotFoundException is propagated
     new 852b2a2  o Fixed the multi threaded insert test : the InMemoryTransactionManager was not implementing any of the beginTransaction/commit/rollback operations... o Fixed a bug in the RecordManager.commit() method : we were not returning immediately when the number of pending transaction was 0, leading to a double decrement of the lock hold.
     new 7e025d8  Improved the output of the toString method to generate hex values for offset
     new 24ef44b  bumped up version to the latest snapshot
     new 05a80b7  create a new instance if the INSTANCE field is not found
     new aa85f3f  o added a utility to inspect the DB file o modified the visibility of few methods in RecordManager to make them callable from the MavibotInspector class o made all check/dump methods to print to standard output (a file stream support will be added later)
     new 4763b4c  o Created a method to print out the checked pages o Using int[] instead of long[] for checked pages o Made the non existing pages shown as '.' (as an int might have moe bits than existing pages in the file)
     new e525587  Moved the check methods out of the recordManager, otherwise this class would be overly long. They are now in MavibotInspector.
     new 28b7820  o Added the checkOffset helper method o Checked the RecordManagerHeader pointers (BOB and CPB) At this point, we should check the BOB and CPB before checking the other trees
     new 67f7928  o Added some more methods to check the btrees. We now have a dedicated method for the BOB and CPB checks (not yet finished). o Added a helper method to update the checkedPges o the checkBtrees is not called, as it's buggy.
     new 4cd72ce  Added more methods to check the btrees. We are now analysing the Btree info page, and go down the btree.
     new d418f0a  Added some extra tests
     new 1d346b5  Cleanup the code, removing useless methods and useless parameters : we are *not* rebuilding a tree when we check it !
     new 83a2535  o replaced exceptions with a combination of sysout and return statements o javadoc typo
     new 0f01a84  o moved the offset setting lines from deserialize() to readPage() o made the loadBTree() method package protected to access it from MavibotInspector
     new 3cb5b98  o added code to check pages of all the managed BTrees o ignored a test
     new aadd61f  Processed the full Btree of Btrees. We now are able to read all the entries in it.
     new ca03d10  o Added the check for user's B-tree. Currently, we are only checking the b-tree header and the b-tree info. o The updateCheckedPages has been changed to not generate an exception when a page has already been seen, as this will occur many times : first the info page is shared between all the b-trees, second many pages will be shared between two versions of a b-tree. Bottom line, we have to change the way we show the checked pages, bits are not enough (it would be better t [...]
     new 37120d9  o We know dump the page used by ever b-tree (and every revision) o Improved the Info page dump using hex offsets
     new c6e909c  o Added the check of user's btrees, when they hold simple values (sub-btrees are to be done) o Added the needed BtreeInfo class in the inspector o Made some fields package protected in RecordManager
     new d11a180  Added the code to check the CopiedPages b-tree. We now are checking the full file, except the sub-btrees.
     new e7888f1  o Added support for sub-btree check. o commented the copiedPagesBtree check, as we have some issue with it atm (seems like the longArray serializer is not working as expected)
     new e53edf6  o Fixed the LongArray serializer o Added a test for the LongArraySerializer
     new 9c63c97  o Fixed the CPB generation and check. o Fixed the LongArraySerializer to fix the CPB storage There is still a pb with the LongArraySerializer, which is not symetric, due to the way we serialize values... It has to be fixed
     new 096ba4b  Fixed a typo
     new fff4759  created a static instance of KeyNotFoundException and used it wherever possible
     new 5c87ae9  Added a test
     new 9375bc7  Removed dead code
     new a473ffc  Added the code that allows us to gather all the updates made on many BTrees within one data structure globally validated when we commit a transaction. o We now have a Map containing the current revisions of all the btrees, and a Map containing the new revisions o Added some check to protect the user against operations done on a BTree without recordManager o Committing the transaction for a delete operation (this was missing) o We don't anymore start a transaction for sub [...]
     new 196231c  Removed some useless import, fixed some warnings
     new 08af34a  Removed unused variable
     new 52590ea  Added some check to forbid operations on a BTree without a transactionManager
     new c16c368  Set the BOB and CPB btrees' cache default size to 1000. That solves the OOM error we get when we inject a lot of elements, as the Cache was unlimited.
     new 3cbd7ba  merged trunk changes into the branch
     new daf296d  Merged the with-txns branch into teh trunk
     new 5da6329  o Use the newBtreHeaders Map only when processing an update, instead of using the current's one. This allow all the modifications to be waiting for the encapsulating transaction to be committed. o Fixed the TxnLevel counter manipulation : we weren't correctly decrementing it when we got some exception o Close the recordManager in tests
     new 846c5bd  o avoid copying pages and incrementing revision when the key and value already exist (MAVIBOT-39) o do not create value holders in sub-btrees (MAVIBOT-38) o updated serialization code in RecordManager to handle the changes made to sub-btrees o added a new cursor to browse keys of sub-btree o added test for KeyCursor
     new 9db86af  added support to create sub-btree manually rather than using a series of insert operations
     new b35b28f  o removed the 'static' qualifier of the header buffer variables o renamed loggers
     new 5c7f7da  added a method to set the value array to null (this is mainly used by the bulk loader to avoid OOM error)
     new 7be3618  bumped up the slf4j version
     new 4e55469  o replaced ehcache's Cache with LRUMap o updated PersistedPageHolder constructor to NOT to hold a reference to the Page (this will be reloaded or will be fetched from cache   this fix helps in avoiding OOM issues during bulkload)
     new 58fe2da  removed dependency on ehCache
     new dc8f135  Don't check the firstfree page if it's -1.
     new 8475e11  o Added a constant for ROLLBACKs o Added a check after the RM initialization o Removed a check that is done too early o Fixed a BufferUnderflow error : we were trying to read too much data in a pageIO while logging the content of a page
     new 3f41e8a  Added some commented test for free page management
     new b661d05  [maven-release-plugin] prepare release 1.0.0-M5
     new 7b3b502  rollbacked the release prepare, as we have had a error 500
     new 229036d  [maven-release-plugin] prepare release 1.0.0-M5
     new f63e8bf  Reverted again... Cannot create the tag on SVN :/
     new 980be82  [maven-release-plugin] prepare release 1.0.0-M5
     new 6dd0f12  Reverted again... Cannot create the tag on SVN :/
     new 76d7497  [maven-release-plugin] prepare release 1.0.0-M5
     new 0910ebf  Rollbacked again... WTF vi mavibot/pom.xml! I still cannot create a tag using the mvn release:prepare command...
     new e8a5018  Fixed some compilation errors
     new b3c4ed9  Pointed to project 32, moved the properties to the parent pom
     new 2081c36  [maven-release-plugin] prepare release 1.0.0-M5
     new 777c8ca  [maven-release-plugin] rollback the release of 1.0.0-M5
     new d0f6220  [maven-release-plugin] prepare release 1.0.0-M5
     new cb2a6bb  [maven-release-plugin] rollback the release of 1.0.0-M5
     new 7c067e8  Replave the tags/1.0.0-M5 in the scm part by trunk
     new 0bfbd18  [maven-release-plugin] prepare release 1.0.0-M5
     new a87cbd2  [maven-release-plugin] prepare for next development iteration
     new ba5a83b  set nbUsers to zero in the clone
     new f3dd134  o made CPB field and checkOffset() method package protected o added a test that demonstrates bad offset values present in CPB after reloading RM
     new 18dd174  Fixed the bad CPB offset (due to a wrong LongArray deserialization)
     new 5b8cc96  a new data structure to hold revision number and offsets of the copied pages of that revision
     new b6102da  o added a class for reclaiming space by freeing up the copied pages o the copied pages are now stored in a concurrent hashmap instead of a BTree o the copied page map is processed after reaching a certain write commit count o updated a test and removed another unused test
     new 32b7b4b  o added support for replacing value of an existing key o fixed an issue in InMemoryBTree when a key already exists o fixed an NPE in findLeftMost() findRightMost() of PersistedLeaf of a persisted sub-BTree o made RevisionName serializable o added and updated tests
     new f624aa7  made the classes serializable
     new b7f7834  fixed the free() method, this was not freeing the associated PageIOs
     new 52dd1d7  branch for testing free page management code
     new 7c13134  removed COPIED_PAGES_BTREE type
     new 2d92852  fixed the way sub-btree is built
     new b292bdd  protected accessor to the internal sub-btree
     new 2d56ed4  fixed javadoc
     new 7996b04  o removed current and previous CPB offset references o modified the structure of BoB and changed the way RM is loaded o added ability to mark a PageIO as freed o added a check to detect a free page before freeing a page o removed storeRootPage() method o added support for deleting managed and internal sub-btrees
     new 748d237  o new data structure to hold revision and associated BTreeHeader's offset o the comparator and serializers
     new 7ee04e6  fixed bad method name
     new 685d271  fixed a NPE reported by findbus
     new 292af68  o optimized the addition of a single value o removed dead code
     new 53990b3  o added support for chopping a tree upto a given key o added a method to count the number of keys present upto the given key
     new a0c9470  fixed some edge cases
     new bfe2e77  merged with trunk revision 1642979 (stashing a lot of untested code as well)

The 508 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
['"commits@directory.apache.org" <commits@directory.apache.org>'].

Mime
View raw message