Files
rippled/db
Tomislav Novak 3b97ee96c4 ForwardIterator seek bugfix
Summary:
If `NeedToSeekImmutable()` returns false, `SeekInternal()` won't reset the
contents of `immutable_min_heap_`. However, since it calls `UpdateCurrent()`
unconditionally, if `current_` is one of immutable iterators (previously popped
from `immutable_min_heap_`), `UpdateCurrent()` will overwrite it. As a result,
if old `current_` in fact pointed to the smallest entry, forward iterator will
skip some records.

Fix implemented in this diff pushes `current_` back to `immutable_min_heap_`
before calling `UpdateCurrent()`.

Test Plan:
New unit test (courtesy of @lovro):
   $ ROCKSDB_TESTS=TailingIteratorSeekToSame ./db_test

Reviewers: igor, dhruba, haobo, ljin

Reviewed By: ljin

Subscribers: lovro, leveldb

Differential Revision: https://reviews.facebook.net/D19653
2014-07-10 16:46:13 -07:00
..
2014-07-08 12:31:49 -07:00
2014-07-08 12:31:49 -07:00
2014-07-10 12:55:53 -07:00
2014-07-10 12:55:53 -07:00
2014-06-20 10:23:02 +02:00
2014-05-21 11:43:35 -07:00
2014-04-24 14:56:41 -04:00
2014-05-21 11:43:35 -07:00
2014-06-20 10:23:02 +02:00
2014-07-08 12:31:49 -07:00
2014-06-03 12:28:58 -07:00
2014-04-15 13:39:26 -07:00
2014-07-10 16:46:13 -07:00
2014-04-08 10:58:07 -07:00
2014-06-03 12:28:58 -07:00
2014-02-28 13:19:47 -08:00
2014-01-27 14:49:10 -08:00
2014-03-14 22:44:35 +00:00
2014-04-28 23:46:24 -04:00
2014-03-14 13:02:20 -07:00
2014-06-20 10:23:02 +02:00
2014-01-30 22:10:10 -08:00
2014-04-15 13:39:26 -07:00
2014-07-10 09:31:42 -07:00