Branch: refs/heads/master
  Home:   https://github.com/mailru/tarantool
  Commit: 52a2561093808097cbd17d61c56887ba28579282
      
https://github.com/mailru/tarantool/commit/52a2561093808097cbd17d61c56887ba28579282
  Author: Konstantin Osipov <[email protected]>
  Date:   2012-09-16 (Sun, 16 Sep 2012)

  Changed paths:
    M mod/box/box_lua.m
    M test/box_big/tree_pk_multipart.result
    M test/box_big/tree_pk_multipart.test
    M third_party/sptree.h

  Log Message:
  -----------
  A fix and a test case for Bug#1051006

A fix and a test case for Bug#1051006
"Tree iterators return garbage if an index is modified between calls"

Mark in a deleted node in sptree.h that it's been  put into the
garbage heap. When iterting over a garbage collected node, skip it,
and go up the stack until we find the first valid node.

This breaks the "sorted" quality of tree iterators in case there
are modifications between invocations of an iterator:
it is possible that a node is deleted and recycled, and we don't see
it in the iterator. When we go up the stack, we can jump to a different
part of the range than the one the recycled node belongs to.
. With this fix, it is also possible, that the iteration goes more
than once over entire tree range. But it's a good enough quick fix for a
crashing expire loop, which uses the tree iterator over the primary key to
scan the entire range and deletes expired keys on the go (additionally,
deletions may occur between invocations of the expire loop).


  Commit: 9e096611090718b1f68625dec47f20ab256e6f44
      
https://github.com/mailru/tarantool/commit/9e096611090718b1f68625dec47f20ab256e6f44
  Author: Konstantin Osipov <[email protected]>
  Date:   2012-09-16 (Sun, 16 Sep 2012)

  Changed paths:
    M debian/changelog

  Log Message:
  -----------
  Merge branch 'master' of github.com:mailru/tarantool


Compare: https://github.com/mailru/tarantool/compare/9c24aabf2620...9e0966110907
_______________________________________________
Mailing list: https://launchpad.net/~tarantool-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~tarantool-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to