Skip to content
Snippets Groups Projects
  1. Nov 06, 2013
  2. Oct 18, 2013
  3. Aug 15, 2013
  4. Jun 04, 2013
  5. Feb 21, 2013
  6. Jan 03, 2013
  7. Dec 13, 2012
  8. Dec 04, 2012
  9. Sep 16, 2012
    • Konstantin Osipov's avatar
      A fix and a test case for Bug#1051006 · 52a25610
      Konstantin Osipov authored
      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).
      52a25610
  10. Apr 09, 2012
  11. Mar 28, 2012
  12. Mar 22, 2012
  13. Mar 21, 2012
  14. Dec 28, 2011
  15. Dec 23, 2011
  16. Dec 09, 2011
  17. Dec 06, 2011
  18. Oct 03, 2011
  19. Nov 26, 2010
  20. Nov 03, 2010
  21. Oct 12, 2010
Loading