diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-01-09 11:50:39 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-01-09 11:50:39 +0000 |
commit | 0ca42669546091b5a8dd82c0442ed78af2455aae (patch) | |
tree | 3dfaea478788f8262d816bff889ceef82a5fb4c1 | |
parent | 860c0bcab5ab9994bd2bff62798e88c2ffd42c4f (diff) | |
download | larch-0ca42669546091b5a8dd82c0442ed78af2455aae.tar.gz |
Update NEWS, version number, debian/changelog for 0.16.1.version_0_16_1
-rw-r--r-- | NEWS | 24 | ||||
-rw-r--r-- | btree/__init__.py | 2 | ||||
-rw-r--r-- | debian/changelog | 11 |
3 files changed, 36 insertions, 1 deletions
@@ -5,6 +5,30 @@ These are the release notes for btree, a Python implementation of a copy-on-write B-tree, designed by Odah Rodeh. +Version 0.16.1, released 2011-01-07 +--------------------------------- + +* Bug fix: Remove temporary node used while splitting a leaf node that has + grown too large. +* Bug fix: Since we do, in fact, modify nodes in-place when they are not + shared between trees, it was possible for a node to be put into the + node store upload queue, and later modified. This is not a problem as + such, but when inserting a value into a leaf node, we modify it in place + making it too large, and then create one or two new nodes. If the + too-large node was at the beginning of the upload queue, creating the + new node might push it out, resulting in a bug. We fix this by moving + the too-large node to the end of the queue, ensuring it will not be + pushed out. A cleaner solution would be to not modify the node if it + will grow too big, but that change will need to wait for a later date. +* BTree now checks that nodes are not too big when they are put into the + node store. The node store already did the checking, but only at the + point where it was ready to write the node to disk, and that meant the + problem was caught at a time that was hard to debug. +* BTree now sets an explicit maximum size of the values inserted into the + tree: slightly less than half the size of a node. This is necessary for + leaf node splitting to work correctly without requiring more than more + than two nodes to hold everything. + Version 0.16, released 2011-01-07 --------------------------------- diff --git a/btree/__init__.py b/btree/__init__.py index 44f5cd7..ad7b3ca 100644 --- a/btree/__init__.py +++ b/btree/__init__.py @@ -14,7 +14,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -version = '0.16' +version = '0.16.1' from nodes import LeafNode, IndexNode diff --git a/debian/changelog b/debian/changelog index f347f19..ec54893 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,14 @@ +python-btree (0.16.1) squeeze; urgency=low + + * New upstream release. + - remove temporary nodes used while splitting a leaf node + - prevent too-large leaf nodes from getting pushed out of the upload + queue during splitting + - introduce explicit maximum size for values stored in the tree + (slightly less than half the size of a node) + + -- Lars Wirzenius <liw@liw.fi> Sun, 09 Jan 2011 11:38:16 +0000 + python-btree (0.16) squeeze; urgency=low * New upstream release. |